From 4c14ed22b26e1117da0577fb9b946c0f12551089 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 16:07:59 +0530 Subject: [PATCH 01/30] tinymce-editor bugfixes --- README.md | 10 ++++----- lib/components/TinyMCE.js | 5 ++++- npm-debug.log | 46 +++++++++++++++++++++++++++++++++++++++ package.json | 16 ++++++++------ 4 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 npm-debug.log diff --git a/README.md b/README.md index 9c660d2..f28660b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# react-tinymce +# react-tinymce-editor -React TinyMCE component +React TinyMCE Editor component ## Installing @@ -10,14 +10,14 @@ $ npm install react-tinymce ## Demo -http://instructure-react.github.io/react-tinymce/ +http://abhirathore2006.github.io/react-tinymce-editor/ ## Example ```js import React from 'react'; import ReactDOM from 'react-dom'; -import TinyMCE from 'react-tinymce'; +import TinyMCE from 'react-tinymce-editor'; const App = React.createClass({ handleEditorChange(e) { @@ -67,7 +67,7 @@ To make sure the linter is happy and the functional tests run, execute: `./node_modules/.bin/rackt test` -To release, you'll need to be an npm owner for react-tinymce, and already +To release, you'll need to be an npm owner for react-tinymce-editor, and already have your machine currently authed with `npm adduser` https://docs.npmjs.com/cli/adduser diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index eb778e9..d6d160f 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -52,7 +52,8 @@ const TinyMCE = React.createClass({ componentDidMount() { const config = clone(this.props.config); - this._init(config); + const content = clone(this.props.content||"") + this._init(config,content); }, componentWillReceiveProps(nextProps) { @@ -97,6 +98,7 @@ const TinyMCE = React.createClass({ } // hide the textarea that is me so that no one sees it + if(this.isMounted()) findDOMNode(this).style.hidden = 'hidden'; const setupCallback = config.setup; @@ -126,6 +128,7 @@ const TinyMCE = React.createClass({ tinymce.init(config); + if(this.isMounted()) findDOMNode(this).style.hidden = ''; this._isInit = true; diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..315a322 --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,46 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/mnt/install/nvm/install/versions/node/v6.3.0/bin/node', +1 verbose cli '/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm', +1 verbose cli 'start' ] +2 info using npm@3.10.3 +3 info using node@v6.3.0 +4 verbose run-script [ 'prestart', 'start', 'poststart' ] +5 info lifecycle react-tinymce-editor@0.6.1~prestart: react-tinymce-editor@0.6.1 +6 silly lifecycle react-tinymce-editor@0.6.1~prestart: no script for prestart, continuing +7 info lifecycle react-tinymce-editor@0.6.1~start: react-tinymce-editor@0.6.1 +8 verbose lifecycle react-tinymce-editor@0.6.1~start: unsafe-perm in lifecycle true +9 verbose lifecycle react-tinymce-editor@0.6.1~start: PATH: /mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/bin/node-gyp-bin:/home/abhimanyu/phantom/react-tinymce-editor/node_modules/.bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/abhimanyu/.local/bin:/home/abhimanyu/bin +10 verbose lifecycle react-tinymce-editor@0.6.1~start: CWD: /home/abhimanyu/phantom/react-tinymce-editor +11 silly lifecycle react-tinymce-editor@0.6.1~start: Args: [ '-c', 'rackt server' ] +12 info lifecycle react-tinymce-editor@0.6.1~start: Failed to exec start script +13 verbose stack Error: react-tinymce-editor@0.6.1 start: `rackt server` +13 verbose stack spawn ENOENT +13 verbose stack at ChildProcess. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/spawn.js:33:16) +13 verbose stack at emitTwo (events.js:106:13) +13 verbose stack at ChildProcess.emit (events.js:191:7) +13 verbose stack at maybeClose (internal/child_process.js:852:16) +13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) +14 verbose pkgid react-tinymce-editor@0.6.1 +15 verbose cwd /home/abhimanyu/phantom/react-tinymce-editor +16 error Linux 3.10.0-327.28.2.el7.x86_64 +17 error argv "/mnt/install/nvm/install/versions/node/v6.3.0/bin/node" "/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm" "start" +18 error node v6.3.0 +19 error npm v3.10.3 +20 error file sh +21 error code ELIFECYCLE +22 error errno ENOENT +23 error syscall spawn +24 error react-tinymce-editor@0.6.1 start: `rackt server` +24 error spawn ENOENT +25 error Failed at the react-tinymce-editor@0.6.1 start script 'rackt server'. +25 error Make sure you have the latest version of node.js and npm installed. +25 error If you do, this is most likely a problem with the react-tinymce-editor package, +25 error not with npm itself. +25 error Tell the author that this fails on your system: +25 error rackt server +25 error You can get information on how to open an issue for this project with: +25 error npm bugs react-tinymce-editor +25 error Or if that isn't available, you can get their info via: +25 error npm owner ls react-tinymce-editor +25 error There is likely additional logging output above. +26 verbose exit [ 1, true ] diff --git a/package.json b/package.json index 54c5510..8d17ca8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "react-tinymce", - "version": "0.5.1", - "description": "React TinyMCE component", + "name": "react-tinymce-editor", + "version": "0.6.1", + "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { "test": "node_modules/.bin/rackt test --single-run --browsers Firefox", @@ -9,12 +9,14 @@ }, "repository": { "type": "git", - "url": "https://github.com/instructure-react/react-tinymce.git" + "url": "https://github.com/abhirathore2006/react-tinymce-editor.git" }, - "homepage": "https://github.com/instructure-react/react-tinymce", + "homepage": "https://github.com/abhirathore2006/react-tinymce-editor.git", "keywords": [ "tinymce", - "react-component" + "react-component", + "react-wyswing", + "wyswwing-editor-for-react" ], "author": "Matt Zabriskie", "license": "MIT", @@ -30,4 +32,4 @@ "dependencies": { "lodash": "^3.9.3" } -} \ No newline at end of file +} From e79a9e0d279a56d2f5270e17e6af0f21e2760dd7 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 16:15:34 +0530 Subject: [PATCH 02/30] tinymce-editor bugfixes -deploy --- npm-debug.log | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 npm-debug.log diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index 315a322..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,46 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/mnt/install/nvm/install/versions/node/v6.3.0/bin/node', -1 verbose cli '/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm', -1 verbose cli 'start' ] -2 info using npm@3.10.3 -3 info using node@v6.3.0 -4 verbose run-script [ 'prestart', 'start', 'poststart' ] -5 info lifecycle react-tinymce-editor@0.6.1~prestart: react-tinymce-editor@0.6.1 -6 silly lifecycle react-tinymce-editor@0.6.1~prestart: no script for prestart, continuing -7 info lifecycle react-tinymce-editor@0.6.1~start: react-tinymce-editor@0.6.1 -8 verbose lifecycle react-tinymce-editor@0.6.1~start: unsafe-perm in lifecycle true -9 verbose lifecycle react-tinymce-editor@0.6.1~start: PATH: /mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/bin/node-gyp-bin:/home/abhimanyu/phantom/react-tinymce-editor/node_modules/.bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/abhimanyu/.local/bin:/home/abhimanyu/bin -10 verbose lifecycle react-tinymce-editor@0.6.1~start: CWD: /home/abhimanyu/phantom/react-tinymce-editor -11 silly lifecycle react-tinymce-editor@0.6.1~start: Args: [ '-c', 'rackt server' ] -12 info lifecycle react-tinymce-editor@0.6.1~start: Failed to exec start script -13 verbose stack Error: react-tinymce-editor@0.6.1 start: `rackt server` -13 verbose stack spawn ENOENT -13 verbose stack at ChildProcess. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/spawn.js:33:16) -13 verbose stack at emitTwo (events.js:106:13) -13 verbose stack at ChildProcess.emit (events.js:191:7) -13 verbose stack at maybeClose (internal/child_process.js:852:16) -13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) -14 verbose pkgid react-tinymce-editor@0.6.1 -15 verbose cwd /home/abhimanyu/phantom/react-tinymce-editor -16 error Linux 3.10.0-327.28.2.el7.x86_64 -17 error argv "/mnt/install/nvm/install/versions/node/v6.3.0/bin/node" "/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm" "start" -18 error node v6.3.0 -19 error npm v3.10.3 -20 error file sh -21 error code ELIFECYCLE -22 error errno ENOENT -23 error syscall spawn -24 error react-tinymce-editor@0.6.1 start: `rackt server` -24 error spawn ENOENT -25 error Failed at the react-tinymce-editor@0.6.1 start script 'rackt server'. -25 error Make sure you have the latest version of node.js and npm installed. -25 error If you do, this is most likely a problem with the react-tinymce-editor package, -25 error not with npm itself. -25 error Tell the author that this fails on your system: -25 error rackt server -25 error You can get information on how to open an issue for this project with: -25 error npm bugs react-tinymce-editor -25 error Or if that isn't available, you can get their info via: -25 error npm owner ls react-tinymce-editor -25 error There is likely additional logging output above. -26 verbose exit [ 1, true ] From 2e1b93ea35013d5ea311371eab09a14feb7e30ee Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 16:17:42 +0530 Subject: [PATCH 03/30] changed location in example file --- examples/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/index.html b/examples/index.html index 6b9d0e2..a05a0ff 100644 --- a/examples/index.html +++ b/examples/index.html @@ -1 +1 @@ - + From 0193be1a37ce24e85eea8118a6ad2537d0461eaf Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 17:04:50 +0530 Subject: [PATCH 04/30] 0.6.1 build --- CHANGELOG.md | 6 + dist/react-tinymce-editor.js | 1968 ++++++++++++++++++++++++++ dist/react-tinymce-editor.js.map | 1 + dist/react-tinymce-editor.min.js | 2 + dist/react-tinymce-editor.min.js.map | 1 + npm-debug.log | 48 + package.json | 5 +- 7 files changed, 2030 insertions(+), 1 deletion(-) create mode 100644 dist/react-tinymce-editor.js create mode 100644 dist/react-tinymce-editor.js.map create mode 100644 dist/react-tinymce-editor.min.js create mode 100644 dist/react-tinymce-editor.min.js.map create mode 100644 npm-debug.log diff --git a/CHANGELOG.md b/CHANGELOG.md index ab37b16..5316f6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.1 - Thu, 21 Apr 2016 00:17:15 GMT +-------------------------------------- + +- + + v0.5.1 - Thu, 21 Apr 2016 00:17:15 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js new file mode 100644 index 0000000..a5404c5 --- /dev/null +++ b/dist/react-tinymce-editor.js @@ -0,0 +1,1968 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("React"), require("ReactDOM")); + else if(typeof define === 'function' && define.amd) + define(["React", "ReactDOM"], factory); + else if(typeof exports === 'object') + exports["ReactTinymceEditor"] = factory(require("React"), require("ReactDOM")); + else + root["ReactTinymceEditor"] = factory(root["React"], root["ReactDOM"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + module.exports = __webpack_require__(1); + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _reactDom = __webpack_require__(3); + + var _lodashLangIsEqual = __webpack_require__(4); + + var _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual); + + var _lodashLangClone = __webpack_require__(29); + + var _lodashLangClone2 = _interopRequireDefault(_lodashLangClone); + + var _helpersUuid = __webpack_require__(44); + + var _helpersUuid2 = _interopRequireDefault(_helpersUuid); + + var _helpersUcFirst = __webpack_require__(45); + + var _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst); + + // Include all of the Native DOM and custom events from: + // https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12 + var EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty']; + + // Note: because the capitalization of the events is weird, we're going to get + // some inconsistently-named handlers, for example compare: + // 'onMouseleave' and 'onNodeChange' + var HANDLER_NAMES = EVENTS.map(function (event) { + return 'on' + (0, _helpersUcFirst2['default'])(event); + }); + + var TinyMCE = _react2['default'].createClass({ + displayName: 'TinyMCE', + + propTypes: { + config: _react2['default'].PropTypes.object, + content: _react2['default'].PropTypes.string, + id: _react2['default'].PropTypes.string, + className: _react2['default'].PropTypes.string + }, + + getDefaultProps: function getDefaultProps() { + return { + config: {}, + content: '' + }; + }, + + componentWillMount: function componentWillMount() { + this.id = this.id || this.props.id || (0, _helpersUuid2['default'])(); + }, + + componentDidMount: function componentDidMount() { + var config = (0, _lodashLangClone2['default'])(this.props.config); + var content = (0, _lodashLangClone2['default'])(this.props.content || ""); + this._init(config, content); + }, + + componentWillReceiveProps: function componentWillReceiveProps(nextProps) { + if (!(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config)) { + this._init(nextProps.config, nextProps.content); + } + if (!(0, _lodashLangIsEqual2['default'])(this.props.id, nextProps.id)) { + this.id = nextProps.id; + } + }, + + shouldComponentUpdate: function shouldComponentUpdate(nextProps) { + return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config); + }, + + componentWillUnmount: function componentWillUnmount() { + this._remove(); + }, + + render: function render() { + return this.props.config.inline ? _react2['default'].createElement('div', { + id: this.id, + className: this.props.className, + dangerouslySetInnerHTML: { __html: this.props.content } + }) : _react2['default'].createElement('textarea', { + id: this.id, + className: this.props.className, + defaultValue: this.props.content + }); + }, + + _init: function _init(config, content) { + var _this = this; + + if (this._isInit) { + this._remove(); + } + + // hide the textarea that is me so that no one sees it + if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden'; + + var setupCallback = config.setup; + var hasSetupCallback = typeof setupCallback === 'function'; + + config.selector = '#' + this.id; + config.setup = function (editor) { + EVENTS.forEach(function (event, index) { + var handler = _this.props[HANDLER_NAMES[index]]; + if (typeof handler !== 'function') return; + editor.on(event, function (e) { + // native DOM events don't have access to the editor so we pass it here + handler(e, editor); + }); + }); + // need to set content here because the textarea will still have the + // old `this.props.content` + if (content) { + editor.on('init', function () { + editor.setContent(content); + }); + } + if (hasSetupCallback) { + setupCallback(editor); + } + }; + + tinymce.init(config); + + if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = ''; + + this._isInit = true; + }, + + _remove: function _remove() { + tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id); + this._isInit = false; + } + }); + + // add handler propTypes + HANDLER_NAMES.forEach(function (name) { + TinyMCE.propTypes[name] = _react2['default'].PropTypes.func; + }); + + module.exports = TinyMCE; + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + module.exports = __WEBPACK_EXTERNAL_MODULE_2__; + +/***/ }, +/* 3 */ +/***/ function(module, exports) { + + module.exports = __WEBPACK_EXTERNAL_MODULE_3__; + +/***/ }, +/* 4 */ +/***/ function(module, exports, __webpack_require__) { + + var baseIsEqual = __webpack_require__(5), + bindCallback = __webpack_require__(27); + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. If `customizer` is provided it's invoked to compare values. + * If `customizer` returns `undefined` comparisons are handled by the method + * instead. The `customizer` is bound to `thisArg` and invoked with up to + * three arguments: (value, other [, index|key]). + * + * **Note:** This method supports comparing arrays, booleans, `Date` objects, + * numbers, `Object` objects, regexes, and strings. Objects are compared by + * their own, not inherited, enumerable properties. Functions and DOM nodes + * are **not** supported. Provide a customizer function to extend support + * for comparing other values. + * + * @static + * @memberOf _ + * @alias eq + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize value comparisons. + * @param {*} [thisArg] The `this` binding of `customizer`. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'user': 'fred' }; + * var other = { 'user': 'fred' }; + * + * object == other; + * // => false + * + * _.isEqual(object, other); + * // => true + * + * // using a customizer callback + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqual(array, other, function(value, other) { + * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) { + * return true; + * } + * }); + * // => true + */ + function isEqual(value, other, customizer, thisArg) { + customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, customizer) : !!result; + } + + module.exports = isEqual; + + +/***/ }, +/* 5 */ +/***/ function(module, exports, __webpack_require__) { + + var baseIsEqualDeep = __webpack_require__(6), + isObject = __webpack_require__(15), + isObjectLike = __webpack_require__(16); + + /** + * The base implementation of `_.isEqual` without support for `this` binding + * `customizer` functions. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparing values. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); + } + + module.exports = baseIsEqual; + + +/***/ }, +/* 6 */ +/***/ function(module, exports, __webpack_require__) { + + var equalArrays = __webpack_require__(7), + equalByTag = __webpack_require__(9), + equalObjects = __webpack_require__(10), + isArray = __webpack_require__(23), + isTypedArray = __webpack_require__(26); + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ + var objToString = objectProto.toString; + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing objects. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA=[]] Tracks traversed `value` objects. + * @param {Array} [stackB=[]] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = objToString.call(object); + if (objTag == argsTag) { + objTag = objectTag; + } else if (objTag != objectTag) { + objIsArr = isTypedArray(object); + } + } + if (!othIsArr) { + othTag = objToString.call(other); + if (othTag == argsTag) { + othTag = objectTag; + } else if (othTag != objectTag) { + othIsArr = isTypedArray(other); + } + } + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && !(objIsArr || objIsObj)) { + return equalByTag(object, other, objTag); + } + if (!isLoose) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); + } + } + if (!isSameTag) { + return false; + } + // Assume cyclic values are equal. + // For more information on detecting circular references see https://es5.github.io/#JO. + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == object) { + return stackB[length] == other; + } + } + // Add `object` and `other` to the stack of traversed objects. + stackA.push(object); + stackB.push(other); + + var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); + + stackA.pop(); + stackB.pop(); + + return result; + } + + module.exports = baseIsEqualDeep; + + +/***/ }, +/* 7 */ +/***/ function(module, exports, __webpack_require__) { + + var arraySome = __webpack_require__(8); + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing arrays. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { + var index = -1, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isLoose && othLength > arrLength)) { + return false; + } + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index], + result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; + + if (result !== undefined) { + if (result) { + continue; + } + return false; + } + // Recursively compare arrays (susceptible to call stack limits). + if (isLoose) { + if (!arraySome(other, function(othValue) { + return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); + })) { + return false; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { + return false; + } + } + return true; + } + + module.exports = equalArrays; + + +/***/ }, +/* 8 */ +/***/ function(module, exports) { + + /** + * A specialized version of `_.some` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + module.exports = arraySome; + + +/***/ }, +/* 9 */ +/***/ function(module, exports) { + + /** `Object#toString` result references. */ + var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag) { + switch (tag) { + case boolTag: + case dateTag: + // Coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. + return +object == +other; + + case errorTag: + return object.name == other.name && object.message == other.message; + + case numberTag: + // Treat `NaN` vs. `NaN` as equal. + return (object != +object) + ? other != +other + : object == +other; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings primitives and string + // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. + return object == (other + ''); + } + return false; + } + + module.exports = equalByTag; + + +/***/ }, +/* 10 */ +/***/ function(module, exports, __webpack_require__) { + + var keys = __webpack_require__(11); + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparing values. + * @param {boolean} [isLoose] Specify performing partial comparisons. + * @param {Array} [stackA] Tracks traversed `value` objects. + * @param {Array} [stackB] Tracks traversed `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { + var objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isLoose) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + var skipCtor = isLoose; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key], + result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; + + // Recursively compare objects (susceptible to call stack limits). + if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { + return false; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (!skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + return false; + } + } + return true; + } + + module.exports = equalObjects; + + +/***/ }, +/* 11 */ +/***/ function(module, exports, __webpack_require__) { + + var getNative = __webpack_require__(12), + isArrayLike = __webpack_require__(17), + isObject = __webpack_require__(15), + shimKeys = __webpack_require__(21); + + /* Native method references for those with the same name as other `lodash` methods. */ + var nativeKeys = getNative(Object, 'keys'); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) + * for more details. + * + * @static + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + var keys = !nativeKeys ? shimKeys : function(object) { + var Ctor = object == null ? undefined : object.constructor; + if ((typeof Ctor == 'function' && Ctor.prototype === object) || + (typeof object != 'function' && isArrayLike(object))) { + return shimKeys(object); + } + return isObject(object) ? nativeKeys(object) : []; + }; + + module.exports = keys; + + +/***/ }, +/* 12 */ +/***/ function(module, exports, __webpack_require__) { + + var isNative = __webpack_require__(13); + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = object == null ? undefined : object[key]; + return isNative(value) ? value : undefined; + } + + module.exports = getNative; + + +/***/ }, +/* 13 */ +/***/ function(module, exports, __webpack_require__) { + + var isFunction = __webpack_require__(14), + isObjectLike = __webpack_require__(16); + + /** Used to detect host constructors (Safari > 5). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to resolve the decompiled source of functions. */ + var fnToString = Function.prototype.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** + * Checks if `value` is a native function. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (value == null) { + return false; + } + if (isFunction(value)) { + return reIsNative.test(fnToString.call(value)); + } + return isObjectLike(value) && reIsHostCtor.test(value); + } + + module.exports = isNative; + + +/***/ }, +/* 14 */ +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(15); + + /** `Object#toString` result references. */ + var funcTag = '[object Function]'; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ + var objToString = objectProto.toString; + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in older versions of Chrome and Safari which return 'function' for regexes + // and Safari 8 which returns 'object' for typed array constructors. + return isObject(value) && objToString.call(value) == funcTag; + } + + module.exports = isFunction; + + +/***/ }, +/* 15 */ +/***/ function(module, exports) { + + /** + * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(1); + * // => false + */ + function isObject(value) { + // Avoid a V8 JIT bug in Chrome 19-20. + // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); + } + + module.exports = isObject; + + +/***/ }, +/* 16 */ +/***/ function(module, exports) { + + /** + * Checks if `value` is object-like. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + */ + function isObjectLike(value) { + return !!value && typeof value == 'object'; + } + + module.exports = isObjectLike; + + +/***/ }, +/* 17 */ +/***/ function(module, exports, __webpack_require__) { + + var getLength = __webpack_require__(18), + isLength = __webpack_require__(20); + + /** + * Checks if `value` is array-like. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + */ + function isArrayLike(value) { + return value != null && isLength(getLength(value)); + } + + module.exports = isArrayLike; + + +/***/ }, +/* 18 */ +/***/ function(module, exports, __webpack_require__) { + + var baseProperty = __webpack_require__(19); + + /** + * Gets the "length" property value of `object`. + * + * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) + * that affects Safari on at least iOS 8.1-8.3 ARM64. + * + * @private + * @param {Object} object The object to query. + * @returns {*} Returns the "length" value. + */ + var getLength = baseProperty('length'); + + module.exports = getLength; + + +/***/ }, +/* 19 */ +/***/ function(module, exports) { + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + module.exports = baseProperty; + + +/***/ }, +/* 20 */ +/***/ function(module, exports) { + + /** + * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) + * of an array-like value. + */ + var MAX_SAFE_INTEGER = 9007199254740991; + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + */ + function isLength(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + module.exports = isLength; + + +/***/ }, +/* 21 */ +/***/ function(module, exports, __webpack_require__) { + + var isArguments = __webpack_require__(22), + isArray = __webpack_require__(23), + isIndex = __webpack_require__(24), + isLength = __webpack_require__(20), + keysIn = __webpack_require__(25); + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * A fallback implementation of `Object.keys` which creates an array of the + * own enumerable property names of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function shimKeys(object) { + var props = keysIn(object), + propsLength = props.length, + length = propsLength && object.length; + + var allowIndexes = !!length && isLength(length) && + (isArray(object) || isArguments(object)); + + var index = -1, + result = []; + + while (++index < propsLength) { + var key = props[index]; + if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { + result.push(key); + } + } + return result; + } + + module.exports = shimKeys; + + +/***/ }, +/* 22 */ +/***/ function(module, exports, __webpack_require__) { + + var isArrayLike = __webpack_require__(17), + isObjectLike = __webpack_require__(16); + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Native method references. */ + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + + /** + * Checks if `value` is classified as an `arguments` object. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + function isArguments(value) { + return isObjectLike(value) && isArrayLike(value) && + hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); + } + + module.exports = isArguments; + + +/***/ }, +/* 23 */ +/***/ function(module, exports, __webpack_require__) { + + var getNative = __webpack_require__(12), + isLength = __webpack_require__(20), + isObjectLike = __webpack_require__(16); + + /** `Object#toString` result references. */ + var arrayTag = '[object Array]'; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ + var objToString = objectProto.toString; + + /* Native method references for those with the same name as other `lodash` methods. */ + var nativeIsArray = getNative(Array, 'isArray'); + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(function() { return arguments; }()); + * // => false + */ + var isArray = nativeIsArray || function(value) { + return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; + }; + + module.exports = isArray; + + +/***/ }, +/* 24 */ +/***/ function(module, exports) { + + /** Used to detect unsigned integer values. */ + var reIsUint = /^\d+$/; + + /** + * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) + * of an array-like value. + */ + var MAX_SAFE_INTEGER = 9007199254740991; + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; + length = length == null ? MAX_SAFE_INTEGER : length; + return value > -1 && value % 1 == 0 && value < length; + } + + module.exports = isIndex; + + +/***/ }, +/* 25 */ +/***/ function(module, exports, __webpack_require__) { + + var isArguments = __webpack_require__(22), + isArray = __webpack_require__(23), + isIndex = __webpack_require__(24), + isLength = __webpack_require__(20), + isObject = __webpack_require__(15); + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + if (object == null) { + return []; + } + if (!isObject(object)) { + object = Object(object); + } + var length = object.length; + length = (length && isLength(length) && + (isArray(object) || isArguments(object)) && length) || 0; + + var Ctor = object.constructor, + index = -1, + isProto = typeof Ctor == 'function' && Ctor.prototype === object, + result = Array(length), + skipIndexes = length > 0; + + while (++index < length) { + result[index] = (index + ''); + } + for (var key in object) { + if (!(skipIndexes && isIndex(key, length)) && + !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + module.exports = keysIn; + + +/***/ }, +/* 26 */ +/***/ function(module, exports, __webpack_require__) { + + var isLength = __webpack_require__(20), + isObjectLike = __webpack_require__(16); + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + + var arrayBufferTag = '[object ArrayBuffer]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dateTag] = typedArrayTags[errorTag] = + typedArrayTags[funcTag] = typedArrayTags[mapTag] = + typedArrayTags[numberTag] = typedArrayTags[objectTag] = + typedArrayTags[regexpTag] = typedArrayTags[setTag] = + typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ + var objToString = objectProto.toString; + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + function isTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; + } + + module.exports = isTypedArray; + + +/***/ }, +/* 27 */ +/***/ function(module, exports, __webpack_require__) { + + var identity = __webpack_require__(28); + + /** + * A specialized version of `baseCallback` which only supports `this` binding + * and specifying the number of arguments to provide to `func`. + * + * @private + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {number} [argCount] The number of arguments to provide to `func`. + * @returns {Function} Returns the callback. + */ + function bindCallback(func, thisArg, argCount) { + if (typeof func != 'function') { + return identity; + } + if (thisArg === undefined) { + return func; + } + switch (argCount) { + case 1: return function(value) { + return func.call(thisArg, value); + }; + case 3: return function(value, index, collection) { + return func.call(thisArg, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(thisArg, accumulator, value, index, collection); + }; + case 5: return function(value, other, key, object, source) { + return func.call(thisArg, value, other, key, object, source); + }; + } + return function() { + return func.apply(thisArg, arguments); + }; + } + + module.exports = bindCallback; + + +/***/ }, +/* 28 */ +/***/ function(module, exports) { + + /** + * This method returns the first argument provided to it. + * + * @static + * @memberOf _ + * @category Utility + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'user': 'fred' }; + * + * _.identity(object) === object; + * // => true + */ + function identity(value) { + return value; + } + + module.exports = identity; + + +/***/ }, +/* 29 */ +/***/ function(module, exports, __webpack_require__) { + + var baseClone = __webpack_require__(30), + bindCallback = __webpack_require__(27), + isIterateeCall = __webpack_require__(43); + + /** + * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned, + * otherwise they are assigned by reference. If `customizer` is provided it's + * invoked to produce the cloned values. If `customizer` returns `undefined` + * cloning is handled by the method instead. The `customizer` is bound to + * `thisArg` and invoked with up to three argument; (value [, index|key, object]). + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm). + * The enumerable properties of `arguments` objects and objects created by + * constructors other than `Object` are cloned to plain `Object` objects. An + * empty object is returned for uncloneable values such as functions, DOM nodes, + * Maps, Sets, and WeakMaps. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @param {Function} [customizer] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `customizer`. + * @returns {*} Returns the cloned value. + * @example + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * var shallow = _.clone(users); + * shallow[0] === users[0]; + * // => true + * + * var deep = _.clone(users, true); + * deep[0] === users[0]; + * // => false + * + * // using a customizer callback + * var el = _.clone(document.body, function(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * }); + * + * el === document.body + * // => false + * el.nodeName + * // => BODY + * el.childNodes.length; + * // => 0 + */ + function clone(value, isDeep, customizer, thisArg) { + if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) { + isDeep = false; + } + else if (typeof isDeep == 'function') { + thisArg = customizer; + customizer = isDeep; + isDeep = false; + } + return typeof customizer == 'function' + ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3)) + : baseClone(value, isDeep); + } + + module.exports = clone; + + +/***/ }, +/* 30 */ +/***/ function(module, exports, __webpack_require__) { + + var arrayCopy = __webpack_require__(31), + arrayEach = __webpack_require__(32), + baseAssign = __webpack_require__(33), + baseForOwn = __webpack_require__(35), + initCloneArray = __webpack_require__(39), + initCloneByTag = __webpack_require__(40), + initCloneObject = __webpack_require__(42), + isArray = __webpack_require__(23), + isObject = __webpack_require__(15); + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + + var arrayBufferTag = '[object ArrayBuffer]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[boolTag] = + cloneableTags[dateTag] = cloneableTags[float32Tag] = + cloneableTags[float64Tag] = cloneableTags[int8Tag] = + cloneableTags[int16Tag] = cloneableTags[int32Tag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[stringTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[mapTag] = cloneableTags[setTag] = + cloneableTags[weakMapTag] = false; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ + var objToString = objectProto.toString; + + /** + * The base implementation of `_.clone` without support for argument juggling + * and `this` binding `customizer` functions. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @param {Function} [customizer] The function to customize cloning values. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The object `value` belongs to. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates clones with source counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, isDeep, customizer, key, object, stackA, stackB) { + var result; + if (customizer) { + result = object ? customizer(value, key, object) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return arrayCopy(value, result); + } + } else { + var tag = objToString.call(value), + isFunc = tag == funcTag; + + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = initCloneObject(isFunc ? {} : value); + if (!isDeep) { + return baseAssign(result, value); + } + } else { + return cloneableTags[tag] + ? initCloneByTag(value, tag, isDeep) + : (object ? value : {}); + } + } + // Check for circular references and return its corresponding clone. + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + // Add the source value to the stack of traversed objects and associate it with its clone. + stackA.push(value); + stackB.push(result); + + // Recursively populate clone (susceptible to call stack limits). + (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) { + result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB); + }); + return result; + } + + module.exports = baseClone; + + +/***/ }, +/* 31 */ +/***/ function(module, exports) { + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function arrayCopy(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + module.exports = arrayCopy; + + +/***/ }, +/* 32 */ +/***/ function(module, exports) { + + /** + * A specialized version of `_.forEach` for arrays without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + module.exports = arrayEach; + + +/***/ }, +/* 33 */ +/***/ function(module, exports, __webpack_require__) { + + var baseCopy = __webpack_require__(34), + keys = __webpack_require__(11); + + /** + * The base implementation of `_.assign` without support for argument juggling, + * multiple sources, and `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return source == null + ? object + : baseCopy(source, keys(source), object); + } + + module.exports = baseAssign; + + +/***/ }, +/* 34 */ +/***/ function(module, exports) { + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property names to copy. + * @param {Object} [object={}] The object to copy properties to. + * @returns {Object} Returns `object`. + */ + function baseCopy(source, props, object) { + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + object[key] = source[key]; + } + return object; + } + + module.exports = baseCopy; + + +/***/ }, +/* 35 */ +/***/ function(module, exports, __webpack_require__) { + + var baseFor = __webpack_require__(36), + keys = __webpack_require__(11); + + /** + * The base implementation of `_.forOwn` without support for callback + * shorthands and `this` binding. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return baseFor(object, iteratee, keys); + } + + module.exports = baseForOwn; + + +/***/ }, +/* 36 */ +/***/ function(module, exports, __webpack_require__) { + + var createBaseFor = __webpack_require__(37); + + /** + * The base implementation of `baseForIn` and `baseForOwn` which iterates + * over `object` properties returned by `keysFunc` invoking `iteratee` for + * each property. Iteratee functions may exit iteration early by explicitly + * returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + module.exports = baseFor; + + +/***/ }, +/* 37 */ +/***/ function(module, exports, __webpack_require__) { + + var toObject = __webpack_require__(38); + + /** + * Creates a base function for `_.forIn` or `_.forInRight`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var iterable = toObject(object), + props = keysFunc(object), + length = props.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length)) { + var key = props[index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + module.exports = createBaseFor; + + +/***/ }, +/* 38 */ +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(15); + + /** + * Converts `value` to an object if it's not one. + * + * @private + * @param {*} value The value to process. + * @returns {Object} Returns the object. + */ + function toObject(value) { + return isObject(value) ? value : Object(value); + } + + module.exports = toObject; + + +/***/ }, +/* 39 */ +/***/ function(module, exports) { + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add array properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + module.exports = initCloneArray; + + +/***/ }, +/* 40 */ +/***/ function(module, exports, __webpack_require__) { + + var bufferClone = __webpack_require__(41); + + /** `Object#toString` result references. */ + var boolTag = '[object Boolean]', + dateTag = '[object Date]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + + var arrayBufferTag = '[object ArrayBuffer]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return bufferClone(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + var buffer = object.buffer; + return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length); + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + var result = new Ctor(object.source, reFlags.exec(object)); + result.lastIndex = object.lastIndex; + } + return result; + } + + module.exports = initCloneByTag; + + +/***/ }, +/* 41 */ +/***/ function(module, exports) { + + /* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */ + var ArrayBuffer = global.ArrayBuffer, + Uint8Array = global.Uint8Array; + + /** + * Creates a clone of the given array buffer. + * + * @private + * @param {ArrayBuffer} buffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function bufferClone(buffer) { + var result = new ArrayBuffer(buffer.byteLength), + view = new Uint8Array(result); + + view.set(new Uint8Array(buffer)); + return result; + } + + module.exports = bufferClone; + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 42 */ +/***/ function(module, exports) { + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + var Ctor = object.constructor; + if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { + Ctor = Object; + } + return new Ctor; + } + + module.exports = initCloneObject; + + +/***/ }, +/* 43 */ +/***/ function(module, exports, __webpack_require__) { + + var isArrayLike = __webpack_require__(17), + isIndex = __webpack_require__(24), + isObject = __webpack_require__(15); + + /** + * Checks if the provided arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object)) { + var other = object[index]; + return value === value ? (value === other) : (other !== other); + } + return false; + } + + module.exports = isIterateeCall; + + +/***/ }, +/* 44 */ +/***/ function(module, exports) { + + 'use strict'; + + var count = 0; + module.exports = function uuid() { + return 'react-tinymce-' + count++; + }; + +/***/ }, +/* 45 */ +/***/ function(module, exports) { + + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = ucFirst; + + function ucFirst(str) { + return str[0].toUpperCase() + str.substring(1); + } + + module.exports = exports["default"]; + +/***/ } +/******/ ]) +}); +; +//# sourceMappingURL=react-tinymce-editor.js.map \ No newline at end of file diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map new file mode 100644 index 0000000..53aa7ea --- /dev/null +++ b/dist/react-tinymce-editor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 5e951806e07ae33ae175","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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ClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 5e951806e07ae33ae175\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone(this.props.content||\"\")\n this._init(config,content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if(this.isMounted())\n findDOMNode(this).style.hidden = 'hidden';\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if(this.isMounted())\n findDOMNode(this).style.hidden = '';\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js new file mode 100644 index 0000000..f3d189a --- /dev/null +++ b/dist/react-tinymce-editor.min.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React"),require("ReactDOM")):"function"==typeof define&&define.amd?define(["React","ReactDOM"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React"),require("ReactDOM")):t.ReactTinymceEditor=e(t.React,t.ReactDOM)}(this,function(t,e){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";t.exports=r(1)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}var o=r(2),c=n(o),i=r(3),u=r(4),a=n(u),f=r(29),s=n(f),p=r(44),l=n(p),d=r(45),b=n(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentWillReceiveProps:function(t){a["default"](this.props.config,t.config)||this._init(t.config,t.content),a["default"](this.props.id,t.id)||(this.id=t.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var r=this;this._isInit&&this._remove(),this.isMounted()&&(i.findDOMNode(this).style.hidden="hidden");var n=t.setup,o="function"==typeof n;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),o&&n(t)},tinymce.init(t),this.isMounted()&&(i.findDOMNode(this).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,this.id),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=c["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,r){t.exports=e},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(5),c=r(27);t.exports=n},function(t,e,r){function n(t,e,r,u,a,f){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,f)}var o=r(6),c=r(15),i=r(16);t.exports=n},function(t,e,r){function n(t,e,r,n,l,y,v){var j=u(t),h=u(e),g=s,x=s;j||(g=b.call(t),g==f?g=p:g!=p&&(j=a(t))),h||(x=b.call(e),x==f?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var w=m&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return r(w?t.value():t,P?e.value():e,n,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var R=(j?o:i)(t,e,r,n,l,y,v);return y.pop(),v.pop(),R}var o=r(7),c=r(9),i=r(10),u=r(23),a=r(26),f="[object Arguments]",s="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,f=t.length,s=e.length;if(f!=s&&!(c&&s>f))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,f=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,f="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(6),\n\t isObject = __webpack_require__(15),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(7),\n\t equalByTag = __webpack_require__(9),\n\t equalObjects = __webpack_require__(10),\n\t isArray = __webpack_require__(23),\n\t isTypedArray = __webpack_require__(26);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(8);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(11);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isArrayLike = __webpack_require__(17),\n\t isObject = __webpack_require__(15),\n\t shimKeys = __webpack_require__(21);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(13);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(18),\n\t isLength = __webpack_require__(20);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(19);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t keysIn = __webpack_require__(25);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t isObject = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(28);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(30),\n\t bindCallback = __webpack_require__(27),\n\t isIterateeCall = __webpack_require__(43);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(31),\n\t arrayEach = __webpack_require__(32),\n\t baseAssign = __webpack_require__(33),\n\t baseForOwn = __webpack_require__(35),\n\t initCloneArray = __webpack_require__(39),\n\t initCloneByTag = __webpack_require__(40),\n\t initCloneObject = __webpack_require__(42),\n\t isArray = __webpack_require__(23),\n\t isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(34),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(36),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(37);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(38);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(41);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isIndex = __webpack_require__(24),\n\t isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 3e29e4c08300f391292e\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone(this.props.content||\"\")\n this._init(config,content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if(this.isMounted())\n findDOMNode(this).style.hidden = 'hidden';\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if(this.isMounted())\n findDOMNode(this).style.hidden = '';\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..e41a5ab --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,48 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/mnt/install/nvm/install/versions/node/v6.3.0/bin/node', +1 verbose cli '/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm', +1 verbose cli 'run', +1 verbose cli 'pages' ] +2 info using npm@3.10.3 +3 info using node@v6.3.0 +4 verbose run-script [ 'prepages', 'pages', 'postpages' ] +5 info lifecycle react-tinymce-editor@0.6.1~prepages: react-tinymce-editor@0.6.1 +6 silly lifecycle react-tinymce-editor@0.6.1~prepages: no script for prepages, continuing +7 info lifecycle react-tinymce-editor@0.6.1~pages: react-tinymce-editor@0.6.1 +8 verbose lifecycle react-tinymce-editor@0.6.1~pages: unsafe-perm in lifecycle true +9 verbose lifecycle react-tinymce-editor@0.6.1~pages: PATH: /mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/bin/node-gyp-bin:/work/test/react-tinymce-editor/node_modules/.bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/abhimanyu/.local/bin:/home/abhimanyu/bin +10 verbose lifecycle react-tinymce-editor@0.6.1~pages: CWD: /work/test/react-tinymce-editor +11 silly lifecycle react-tinymce-editor@0.6.1~pages: Args: [ '-c', 'rackt pages' ] +12 silly lifecycle react-tinymce-editor@0.6.1~pages: Returned: code: 1 signal: null +13 info lifecycle react-tinymce-editor@0.6.1~pages: Failed to exec pages script +14 verbose stack Error: react-tinymce-editor@0.6.1 pages: `rackt pages` +14 verbose stack Exit status 1 +14 verbose stack at EventEmitter. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/lifecycle.js:242:16) +14 verbose stack at emitTwo (events.js:106:13) +14 verbose stack at EventEmitter.emit (events.js:191:7) +14 verbose stack at ChildProcess. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/spawn.js:40:14) +14 verbose stack at emitTwo (events.js:106:13) +14 verbose stack at ChildProcess.emit (events.js:191:7) +14 verbose stack at maybeClose (internal/child_process.js:852:16) +14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) +15 verbose pkgid react-tinymce-editor@0.6.1 +16 verbose cwd /work/test/react-tinymce-editor +17 error Linux 3.10.0-327.28.2.el7.x86_64 +18 error argv "/mnt/install/nvm/install/versions/node/v6.3.0/bin/node" "/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm" "run" "pages" +19 error node v6.3.0 +20 error npm v3.10.3 +21 error code ELIFECYCLE +22 error react-tinymce-editor@0.6.1 pages: `rackt pages` +22 error Exit status 1 +23 error Failed at the react-tinymce-editor@0.6.1 pages script 'rackt pages'. +23 error Make sure you have the latest version of node.js and npm installed. +23 error If you do, this is most likely a problem with the react-tinymce-editor package, +23 error not with npm itself. +23 error Tell the author that this fails on your system: +23 error rackt pages +23 error You can get information on how to open an issue for this project with: +23 error npm bugs react-tinymce-editor +23 error Or if that isn't available, you can get their info via: +23 error npm owner ls react-tinymce-editor +23 error There is likely additional logging output above. +24 verbose exit [ 1, true ] diff --git a/package.json b/package.json index 8d17ca8..cefd02a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,10 @@ "main": "lib/main.js", "scripts": { "test": "node_modules/.bin/rackt test --single-run --browsers Firefox", - "start": "node_modules/.bin/rackt server" + "start": "node_modules/.bin/rackt server", + "build": "node_modules/.bin/rackt build", + "pages": "node_modules/.bin/rackt pages", + "release" : "node_modules/.bin/rackt release" }, "repository": { "type": "git", From 813a44d1edfcea998b10b26a1766db08030d7327 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 17:06:01 +0530 Subject: [PATCH 05/30] added npm-debug.log to git ignore --- .gitignore | 1 + CHANGELOG.md | 6 ------ npm-debug.log | 48 ------------------------------------------------ 3 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 npm-debug.log diff --git a/.gitignore b/.gitignore index ea90594..6672db2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store build/ node_modules/ +npm-debug.log diff --git a/CHANGELOG.md b/CHANGELOG.md index 5316f6d..ab37b16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,3 @@ -v0.6.1 - Thu, 21 Apr 2016 00:17:15 GMT --------------------------------------- - -- - - v0.5.1 - Thu, 21 Apr 2016 00:17:15 GMT -------------------------------------- diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index e41a5ab..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,48 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/mnt/install/nvm/install/versions/node/v6.3.0/bin/node', -1 verbose cli '/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm', -1 verbose cli 'run', -1 verbose cli 'pages' ] -2 info using npm@3.10.3 -3 info using node@v6.3.0 -4 verbose run-script [ 'prepages', 'pages', 'postpages' ] -5 info lifecycle react-tinymce-editor@0.6.1~prepages: react-tinymce-editor@0.6.1 -6 silly lifecycle react-tinymce-editor@0.6.1~prepages: no script for prepages, continuing -7 info lifecycle react-tinymce-editor@0.6.1~pages: react-tinymce-editor@0.6.1 -8 verbose lifecycle react-tinymce-editor@0.6.1~pages: unsafe-perm in lifecycle true -9 verbose lifecycle react-tinymce-editor@0.6.1~pages: PATH: /mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/bin/node-gyp-bin:/work/test/react-tinymce-editor/node_modules/.bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/mnt/install/nvm/install/versions/node/v6.3.0/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/home/abhimanyu/google-cloud-sdk/bin:/mnt/install/node-v5.10.0-linux-x64/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/jdk1.8.0_77/bin:/mnt/install/apache-maven-3.2.3/bin:/mnt/install/phantomjs-2.1.1-linux-x86_64/bin:/mnt/install/mongodb/mongodb-linux-x86_64-3.2.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/abhimanyu/.local/bin:/home/abhimanyu/bin -10 verbose lifecycle react-tinymce-editor@0.6.1~pages: CWD: /work/test/react-tinymce-editor -11 silly lifecycle react-tinymce-editor@0.6.1~pages: Args: [ '-c', 'rackt pages' ] -12 silly lifecycle react-tinymce-editor@0.6.1~pages: Returned: code: 1 signal: null -13 info lifecycle react-tinymce-editor@0.6.1~pages: Failed to exec pages script -14 verbose stack Error: react-tinymce-editor@0.6.1 pages: `rackt pages` -14 verbose stack Exit status 1 -14 verbose stack at EventEmitter. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/lifecycle.js:242:16) -14 verbose stack at emitTwo (events.js:106:13) -14 verbose stack at EventEmitter.emit (events.js:191:7) -14 verbose stack at ChildProcess. (/mnt/install/nvm/install/versions/node/v6.3.0/lib/node_modules/npm/lib/utils/spawn.js:40:14) -14 verbose stack at emitTwo (events.js:106:13) -14 verbose stack at ChildProcess.emit (events.js:191:7) -14 verbose stack at maybeClose (internal/child_process.js:852:16) -14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) -15 verbose pkgid react-tinymce-editor@0.6.1 -16 verbose cwd /work/test/react-tinymce-editor -17 error Linux 3.10.0-327.28.2.el7.x86_64 -18 error argv "/mnt/install/nvm/install/versions/node/v6.3.0/bin/node" "/mnt/install/nvm/install/versions/node/v6.3.0/bin/npm" "run" "pages" -19 error node v6.3.0 -20 error npm v3.10.3 -21 error code ELIFECYCLE -22 error react-tinymce-editor@0.6.1 pages: `rackt pages` -22 error Exit status 1 -23 error Failed at the react-tinymce-editor@0.6.1 pages script 'rackt pages'. -23 error Make sure you have the latest version of node.js and npm installed. -23 error If you do, this is most likely a problem with the react-tinymce-editor package, -23 error not with npm itself. -23 error Tell the author that this fails on your system: -23 error rackt pages -23 error You can get information on how to open an issue for this project with: -23 error npm bugs react-tinymce-editor -23 error Or if that isn't available, you can get their info via: -23 error npm owner ls react-tinymce-editor -23 error There is likely additional logging output above. -24 verbose exit [ 1, true ] From d815fe3b23e8fd49d00883c60697f542d4392a6d Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 17:13:43 +0530 Subject: [PATCH 06/30] added seld as author in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cefd02a..7044b86 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "react-wyswing", "wyswwing-editor-for-react" ], - "author": "Matt Zabriskie", + "author": "Matt Zabriskie, Abhimanyu Singh rathore", "license": "MIT", "peerDependencies": { "react": "^0.14.0 || ^15.0.0", From cf76fae978746216aaf9e6f6c0ff402c626cdb70 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 17:28:57 +0530 Subject: [PATCH 07/30] release v0.6.3 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 10 +++++++--- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 16 +++++++++------- lib/components/__tests__/TinyMCE-test.js | 2 +- package.json | 6 +++--- 7 files changed, 28 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab37b16..3b4ea67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.3 - Mon, 22 Aug 2016 11:58:57 GMT +-------------------------------------- + +- + + v0.5.1 - Thu, 21 Apr 2016 00:17:15 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index a5404c5..3ae241e 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -122,7 +122,7 @@ return /******/ (function(modules) { // webpackBootstrap componentDidMount: function componentDidMount() { var config = (0, _lodashLangClone2['default'])(this.props.config); - var content = (0, _lodashLangClone2['default'])(this.props.content || ""); + var content = (0, _lodashLangClone2['default'])(this.props.content || ''); this._init(config, content); }, @@ -163,7 +163,9 @@ return /******/ (function(modules) { // webpackBootstrap } // hide the textarea that is me so that no one sees it - if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden'; + if (this.isMounted()) { + (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden'; + } var setupCallback = config.setup; var hasSetupCallback = typeof setupCallback === 'function'; @@ -192,7 +194,9 @@ return /******/ (function(modules) { // webpackBootstrap tinymce.init(config); - if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = ''; + if (this.isMounted()) { + (0, _reactDom.findDOMNode)(this).style.hidden = ''; + } this._isInit = true; }, diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index 53aa7ea..bd15338 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 5e951806e07ae33ae175","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA,OAAM,CAAC,OAAO,GAAG,mBAAO,CAAC,CAAsB,CAAC,C;;;;;;;;;;kCCA9B,CAAO;;;;qCACG,CAAW;;8CACnB,CAAqB;;;;4CACvB,EAAmB;;;;wCACpB,EAAiB;;;;2CACd,EAAoB;;;;;;AAIxC,KAAM,MAAM,GAAG,CACb,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAClE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAC/D,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EACxE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EACpE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAC5D,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EACnE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAC9D,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAC1E,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAClE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EACpE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CACxC,CAAC;;;;;AAKF,KAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAK;AAC1C,UAAO,IAAI,GAAG,iCAAQ,KAAK,CAAC,CAAC;EAC9B,CAAC,CAAC;;AAEH,KAAM,OAAO,GAAG,mBAAM,WAAW,CAAC;AAChC,cAAW,EAAE,SAAS;;AAEtB,YAAS,EAAE;AACT,WAAM,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC9B,YAAO,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC/B,OAAE,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC1B,cAAS,EAAE,mBAAM,SAAS,CAAC,MAAM;IAClC;;AAED,kBAAe,6BAAG;AAChB,YAAO;AACL,aAAM,EAAE,EAAE;AACV,cAAO,EAAE,EAAE;MACZ,CAAC;IACH;;AAED,qBAAkB,gCAAG;AACnB,SAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,+BAAM,CAAC;IAC9C;;AAED,oBAAiB,+BAAG;AAClB,SAAM,MAAM,GAAG,kCAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,SAAM,OAAO,GAAG,kCAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAE,EAAE,CAAC;AAC7C,SAAI,CAAC,KAAK,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;IAC5B;;AAED,4BAAyB,qCAAC,SAAS,EAAE;AACnC,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE;AACjD,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;MACjD;AACD,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACzC,WAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;MACxB;IACF;;AAED,wBAAqB,iCAAC,SAAS,EAAE;AAC/B,YACE,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAC/C,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAC7C;IACH;;AAED,uBAAoB,kCAAG;AACrB,SAAI,CAAC,OAAO,EAAE,CAAC;IAChB;;AAED,SAAM,oBAAG;AACP,YAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAC7B;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,8BAAuB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;OACtD,GAEF;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,mBAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAQ;OAEpC,CAAC;IACH;;AAED,QAAK,iBAAC,MAAM,EAAE,OAAO,EAAE;;;AACrB,SAAI,IAAI,CAAC,OAAO,EAAE;AAChB,WAAI,CAAC,OAAO,EAAE,CAAC;MAChB;;;AAGD,SAAG,IAAI,CAAC,SAAS,EAAE,EACnB,2BAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;;AAE1C,SAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;AACnC,SAAM,gBAAgB,GAAI,OAAO,aAAa,KAAK,UAAW,CAAC;;AAE/D,WAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,WAAM,CAAC,KAAK,GAAG,UAAC,MAAM,EAAK;AACzB,aAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAK;AAC/B,aAAM,OAAO,GAAG,MAAK,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,aAAI,OAAO,OAAO,KAAK,UAAU,EAAE,OAAO;AAC1C,eAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAC,CAAC,EAAK;;AAEtB,kBAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;UACpB,CAAC,CAAC;QACJ,CAAC,CAAC;;;AAGH,WAAI,OAAO,EAAE;AACX,eAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAM;AACtB,iBAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ;AACD,WAAI,gBAAgB,EAAE;AACpB,sBAAa,CAAC,MAAM,CAAC,CAAC;QACvB;MACF,CAAC;;AAEF,YAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;AAEpB,SAAG,IAAI,CAAC,SAAS,EAAE,EACpB,2BAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;;AAEpC,SAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB;;AAED,UAAO,qBAAG;AACR,YAAO,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,SAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB;EACF,CAAC,CAAC;;;AAGH,cAAa,CAAC,OAAO,CAAC,UAAC,IAAI,EAAK;AAC9B,UAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,mBAAM,SAAS,CAAC,IAAI,CAAC;EAChD,CAAC,CAAC;;AAEH,OAAM,CAAC,OAAO,GAAG,OAAO,C;;;;;;ACnJxB,gD;;;;;;ACAA,gD;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 5e951806e07ae33ae175\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone(this.props.content||\"\")\n this._init(config,content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if(this.isMounted())\n findDOMNode(this).style.hidden = 'hidden';\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if(this.isMounted())\n findDOMNode(this).style.hidden = '';\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 0c30666bbdda5ad59755","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA,OAAM,CAAC,OAAO,GAAG,mBAAO,CAAC,CAAsB,CAAC,C;;;;;;;;;;kCCA9B,CAAO;;;;qCACG,CAAW;;8CACnB,CAAqB;;;;4CACvB,EAAmB;;;;wCACpB,EAAiB;;;;2CACd,EAAoB;;;;;;AAIxC,KAAM,MAAM,GAAG,CACb,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAClE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAC/D,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EACxE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EACpE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAC5D,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EACnE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAC9D,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAC1E,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAClE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EACpE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CACxC,CAAC;;;;;AAKF,KAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAK;AAC1C,UAAO,IAAI,GAAG,iCAAQ,KAAK,CAAC,CAAC;EAC9B,CAAC,CAAC;;AAEH,KAAM,OAAO,GAAG,mBAAM,WAAW,CAAC;AAChC,cAAW,EAAE,SAAS;;AAEtB,YAAS,EAAE;AACT,WAAM,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC9B,YAAO,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC/B,OAAE,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC1B,cAAS,EAAE,mBAAM,SAAS,CAAC,MAAM;IAClC;;AAED,kBAAe,6BAAG;AAChB,YAAO;AACL,aAAM,EAAE,EAAE;AACV,cAAO,EAAE,EAAE;MACZ,CAAC;IACH;;AAED,qBAAkB,gCAAG;AACnB,SAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,+BAAM,CAAC;IAC9C;;AAED,oBAAiB,+BAAG;AAClB,SAAM,MAAM,GAAI,kCAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,SAAM,OAAO,GAAG,kCAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAE,CAAC;AAClD,SAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B;;AAED,4BAAyB,qCAAC,SAAS,EAAE;AACnC,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE;AACjD,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;MACjD;AACD,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACzC,WAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;MACxB;IACF;;AAED,wBAAqB,iCAAC,SAAS,EAAE;AAC/B,YACE,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAC/C,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAC7C;IACH;;AAED,uBAAoB,kCAAG;AACrB,SAAI,CAAC,OAAO,EAAE,CAAC;IAChB;;AAED,SAAM,oBAAG;AACP,YAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAC7B;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,8BAAuB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;OACtD,GAEF;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,mBAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAQ;OAEpC,CAAC;IACH;;AAED,QAAK,iBAAC,MAAM,EAAE,OAAO,EAAE;;;AACrB,SAAI,IAAI,CAAC,OAAO,EAAE;AAChB,WAAI,CAAC,OAAO,EAAE,CAAC;MAChB;;;AAGD,SAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,kCAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;MAC3C;;AAED,SAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;AACnC,SAAM,gBAAgB,GAAI,OAAO,aAAa,KAAK,UAAW,CAAC;;AAE/D,WAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,WAAM,CAAC,KAAK,GAAG,UAAC,MAAM,EAAK;AACzB,aAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAK;AAC/B,aAAM,OAAO,GAAG,MAAK,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,aAAI,OAAO,OAAO,KAAK,UAAU,EAAE,OAAO;AAC1C,eAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAC,CAAC,EAAK;;AAEtB,kBAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;UACpB,CAAC,CAAC;QACJ,CAAC,CAAC;;;AAGH,WAAI,OAAO,EAAE;AACX,eAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAM;AACtB,iBAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ;AACD,WAAI,gBAAgB,EAAE;AACpB,sBAAa,CAAC,MAAM,CAAC,CAAC;QACvB;MACF,CAAC;;AAEF,YAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;AAErB,SAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,kCAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;MACrC;;AAED,SAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB;;AAED,UAAO,qBAAG;AACR,YAAO,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,SAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB;EACF,CAAC,CAAC;;;AAGH,cAAa,CAAC,OAAO,CAAC,UAAC,IAAI,EAAK;AAC9B,UAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,mBAAM,SAAS,CAAC,IAAI,CAAC;EAChD,CAAC,CAAC;;AAEH,OAAM,CAAC,OAAO,GAAG,OAAO,C;;;;;;ACrJxB,gD;;;;;;ACAA,gD;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 0c30666bbdda5ad59755\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js.map b/dist/react-tinymce-editor.min.js.map index ee15152..74cd530 100644 --- a/dist/react-tinymce-editor.min.js.map +++ b/dist/react-tinymce-editor.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 3e29e4c08300f391292e","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_3__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_reactDom","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentWillReceiveProps","nextProps","shouldComponentUpdate","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","isMounted","findDOMNode","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(4);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(29);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(44);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(45);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || \"\");\n\t this._init(config, content);\n\t },\n\t\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config)) {\n\t this._init(nextProps.config, nextProps.content);\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, nextProps.id)) {\n\t this.id = nextProps.id;\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden';\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (this.isMounted()) (0, _reactDom.findDOMNode)(this).style.hidden = '';\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(5),\n\t bindCallback = __webpack_require__(27);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(6),\n\t isObject = __webpack_require__(15),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(7),\n\t equalByTag = __webpack_require__(9),\n\t equalObjects = __webpack_require__(10),\n\t isArray = __webpack_require__(23),\n\t isTypedArray = __webpack_require__(26);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(8);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(11);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isArrayLike = __webpack_require__(17),\n\t isObject = __webpack_require__(15),\n\t shimKeys = __webpack_require__(21);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(13);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(18),\n\t isLength = __webpack_require__(20);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(19);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t keysIn = __webpack_require__(25);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t isObject = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(28);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(30),\n\t bindCallback = __webpack_require__(27),\n\t isIterateeCall = __webpack_require__(43);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(31),\n\t arrayEach = __webpack_require__(32),\n\t baseAssign = __webpack_require__(33),\n\t baseForOwn = __webpack_require__(35),\n\t initCloneArray = __webpack_require__(39),\n\t initCloneByTag = __webpack_require__(40),\n\t initCloneObject = __webpack_require__(42),\n\t isArray = __webpack_require__(23),\n\t isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(34),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(36),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(37);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(38);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(41);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isIndex = __webpack_require__(24),\n\t isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 3e29e4c08300f391292e\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone(this.props.content||\"\")\n this._init(config,content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if(this.isMounted())\n findDOMNode(this).style.hidden = 'hidden';\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if(this.isMounted())\n findDOMNode(this).style.hidden = '';\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap e71e62430ddd74702874","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_3__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_reactDom","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentWillReceiveProps","nextProps","shouldComponentUpdate","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","isMounted","findDOMNode","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(4);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(29);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(44);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(45);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config)) {\n\t this._init(nextProps.config, nextProps.content);\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, nextProps.id)) {\n\t this.id = nextProps.id;\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (this.isMounted()) {\n\t (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (this.isMounted()) {\n\t (0, _reactDom.findDOMNode)(this).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(5),\n\t bindCallback = __webpack_require__(27);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(6),\n\t isObject = __webpack_require__(15),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(7),\n\t equalByTag = __webpack_require__(9),\n\t equalObjects = __webpack_require__(10),\n\t isArray = __webpack_require__(23),\n\t isTypedArray = __webpack_require__(26);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(8);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(11);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isArrayLike = __webpack_require__(17),\n\t isObject = __webpack_require__(15),\n\t shimKeys = __webpack_require__(21);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(13);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(18),\n\t isLength = __webpack_require__(20);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(19);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t keysIn = __webpack_require__(25);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t isObject = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(28);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(30),\n\t bindCallback = __webpack_require__(27),\n\t isIterateeCall = __webpack_require__(43);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(31),\n\t arrayEach = __webpack_require__(32),\n\t baseAssign = __webpack_require__(33),\n\t baseForOwn = __webpack_require__(35),\n\t initCloneArray = __webpack_require__(39),\n\t initCloneByTag = __webpack_require__(40),\n\t initCloneObject = __webpack_require__(42),\n\t isArray = __webpack_require__(23),\n\t isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(34),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(36),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(37);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(38);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(41);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isIndex = __webpack_require__(24),\n\t isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e71e62430ddd74702874\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index d6d160f..1c227b7 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -51,9 +51,9 @@ const TinyMCE = React.createClass({ }, componentDidMount() { - const config = clone(this.props.config); - const content = clone(this.props.content||"") - this._init(config,content); + const config = clone(this.props.config); + const content = clone( this.props.content || '' ); + this._init(config, content); }, componentWillReceiveProps(nextProps) { @@ -98,8 +98,9 @@ const TinyMCE = React.createClass({ } // hide the textarea that is me so that no one sees it - if(this.isMounted()) - findDOMNode(this).style.hidden = 'hidden'; + if (this.isMounted()) { + findDOMNode(this).style.hidden = 'hidden'; + } const setupCallback = config.setup; const hasSetupCallback = (typeof setupCallback === 'function'); @@ -128,8 +129,9 @@ const TinyMCE = React.createClass({ tinymce.init(config); - if(this.isMounted()) - findDOMNode(this).style.hidden = ''; + if (this.isMounted()) { + findDOMNode(this).style.hidden = ''; + } this._isInit = true; }, diff --git a/lib/components/__tests__/TinyMCE-test.js b/lib/components/__tests__/TinyMCE-test.js index c717ead..8b711ee 100644 --- a/lib/components/__tests__/TinyMCE-test.js +++ b/lib/components/__tests__/TinyMCE-test.js @@ -4,7 +4,7 @@ import { equal } from 'assert'; /* eslint func-names:0 */ -describe('react-tinymce', function() { +describe('react-tinymce-editor', function() { it('should render', function() { equal(true, true); }); diff --git a/package.json b/package.json index 7044b86..4f4ff37 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.1", + "version": "0.6.3", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { @@ -8,7 +8,7 @@ "start": "node_modules/.bin/rackt server", "build": "node_modules/.bin/rackt build", "pages": "node_modules/.bin/rackt pages", - "release" : "node_modules/.bin/rackt release" + "release": "node_modules/.bin/rackt release" }, "repository": { "type": "git", @@ -35,4 +35,4 @@ "dependencies": { "lodash": "^3.9.3" } -} +} \ No newline at end of file From 0b90a1bf7403674d61166a94c375478d906a84b8 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 17:51:27 +0530 Subject: [PATCH 08/30] release v0.6.4 --- CHANGELOG.md | 6 + dist/react-tinymce-editor.js | 244 +++++++++++++-------------- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 9 +- package.json | 2 +- 7 files changed, 132 insertions(+), 135 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b4ea67..8597365 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.4 - Mon, 22 Aug 2016 12:21:27 GMT +-------------------------------------- + +- + + v0.6.3 - Mon, 22 Aug 2016 11:58:57 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index 3ae241e..e853304 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -1,13 +1,13 @@ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("React"), require("ReactDOM")); + module.exports = factory(require("React")); else if(typeof define === 'function' && define.amd) - define(["React", "ReactDOM"], factory); + define(["React"], factory); else if(typeof exports === 'object') - exports["ReactTinymceEditor"] = factory(require("React"), require("ReactDOM")); + exports["ReactTinymceEditor"] = factory(require("React")); else - root["ReactTinymceEditor"] = factory(root["React"], root["ReactDOM"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) { + root["ReactTinymceEditor"] = factory(root["React"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -70,21 +70,19 @@ return /******/ (function(modules) { // webpackBootstrap var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(3); - - var _lodashLangIsEqual = __webpack_require__(4); + var _lodashLangIsEqual = __webpack_require__(3); var _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual); - var _lodashLangClone = __webpack_require__(29); + var _lodashLangClone = __webpack_require__(28); var _lodashLangClone2 = _interopRequireDefault(_lodashLangClone); - var _helpersUuid = __webpack_require__(44); + var _helpersUuid = __webpack_require__(43); var _helpersUuid2 = _interopRequireDefault(_helpersUuid); - var _helpersUcFirst = __webpack_require__(45); + var _helpersUcFirst = __webpack_require__(44); var _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst); @@ -163,8 +161,8 @@ return /******/ (function(modules) { // webpackBootstrap } // hide the textarea that is me so that no one sees it - if (this.isMounted()) { - (0, _reactDom.findDOMNode)(this).style.hidden = 'hidden'; + if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = 'hidden'; } var setupCallback = config.setup; @@ -194,8 +192,8 @@ return /******/ (function(modules) { // webpackBootstrap tinymce.init(config); - if (this.isMounted()) { - (0, _reactDom.findDOMNode)(this).style.hidden = ''; + if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = ''; } this._isInit = true; @@ -222,16 +220,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 3 */ -/***/ function(module, exports) { - - module.exports = __WEBPACK_EXTERNAL_MODULE_3__; - -/***/ }, -/* 4 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqual = __webpack_require__(5), - bindCallback = __webpack_require__(27); + var baseIsEqual = __webpack_require__(4), + bindCallback = __webpack_require__(26); /** * Performs a deep comparison between two values to determine if they are @@ -287,12 +279,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 5 */ +/* 4 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqualDeep = __webpack_require__(6), - isObject = __webpack_require__(15), - isObjectLike = __webpack_require__(16); + var baseIsEqualDeep = __webpack_require__(5), + isObject = __webpack_require__(14), + isObjectLike = __webpack_require__(15); /** * The base implementation of `_.isEqual` without support for `this` binding @@ -321,14 +313,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 6 */ +/* 5 */ /***/ function(module, exports, __webpack_require__) { - var equalArrays = __webpack_require__(7), - equalByTag = __webpack_require__(9), - equalObjects = __webpack_require__(10), - isArray = __webpack_require__(23), - isTypedArray = __webpack_require__(26); + var equalArrays = __webpack_require__(6), + equalByTag = __webpack_require__(8), + equalObjects = __webpack_require__(9), + isArray = __webpack_require__(22), + isTypedArray = __webpack_require__(25); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -429,10 +421,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 7 */ +/* 6 */ /***/ function(module, exports, __webpack_require__) { - var arraySome = __webpack_require__(8); + var arraySome = __webpack_require__(7); /** * A specialized version of `baseIsEqualDeep` for arrays with support for @@ -486,7 +478,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 8 */ +/* 7 */ /***/ function(module, exports) { /** @@ -515,7 +507,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 9 */ +/* 8 */ /***/ function(module, exports) { /** `Object#toString` result references. */ @@ -569,10 +561,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 10 */ +/* 9 */ /***/ function(module, exports, __webpack_require__) { - var keys = __webpack_require__(11); + var keys = __webpack_require__(10); /** Used for native method references. */ var objectProto = Object.prototype; @@ -642,13 +634,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 11 */ +/* 10 */ /***/ function(module, exports, __webpack_require__) { - var getNative = __webpack_require__(12), - isArrayLike = __webpack_require__(17), - isObject = __webpack_require__(15), - shimKeys = __webpack_require__(21); + var getNative = __webpack_require__(11), + isArrayLike = __webpack_require__(16), + isObject = __webpack_require__(14), + shimKeys = __webpack_require__(20); /* Native method references for those with the same name as other `lodash` methods. */ var nativeKeys = getNative(Object, 'keys'); @@ -693,10 +685,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 12 */ +/* 11 */ /***/ function(module, exports, __webpack_require__) { - var isNative = __webpack_require__(13); + var isNative = __webpack_require__(12); /** * Gets the native function at `key` of `object`. @@ -715,11 +707,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 13 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { - var isFunction = __webpack_require__(14), - isObjectLike = __webpack_require__(16); + var isFunction = __webpack_require__(13), + isObjectLike = __webpack_require__(15); /** Used to detect host constructors (Safari > 5). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; @@ -769,10 +761,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 14 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { - var isObject = __webpack_require__(15); + var isObject = __webpack_require__(14); /** `Object#toString` result references. */ var funcTag = '[object Function]'; @@ -813,7 +805,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 15 */ +/* 14 */ /***/ function(module, exports) { /** @@ -847,7 +839,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 16 */ +/* 15 */ /***/ function(module, exports) { /** @@ -865,11 +857,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 17 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { - var getLength = __webpack_require__(18), - isLength = __webpack_require__(20); + var getLength = __webpack_require__(17), + isLength = __webpack_require__(19); /** * Checks if `value` is array-like. @@ -886,10 +878,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 18 */ +/* 17 */ /***/ function(module, exports, __webpack_require__) { - var baseProperty = __webpack_require__(19); + var baseProperty = __webpack_require__(18); /** * Gets the "length" property value of `object`. @@ -907,7 +899,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 19 */ +/* 18 */ /***/ function(module, exports) { /** @@ -927,7 +919,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 20 */ +/* 19 */ /***/ function(module, exports) { /** @@ -953,14 +945,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 21 */ +/* 20 */ /***/ function(module, exports, __webpack_require__) { - var isArguments = __webpack_require__(22), - isArray = __webpack_require__(23), - isIndex = __webpack_require__(24), - isLength = __webpack_require__(20), - keysIn = __webpack_require__(25); + var isArguments = __webpack_require__(21), + isArray = __webpack_require__(22), + isIndex = __webpack_require__(23), + isLength = __webpack_require__(19), + keysIn = __webpack_require__(24); /** Used for native method references. */ var objectProto = Object.prototype; @@ -1000,11 +992,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 22 */ +/* 21 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLike = __webpack_require__(17), - isObjectLike = __webpack_require__(16); + var isArrayLike = __webpack_require__(16), + isObjectLike = __webpack_require__(15); /** Used for native method references. */ var objectProto = Object.prototype; @@ -1040,12 +1032,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 23 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { - var getNative = __webpack_require__(12), - isLength = __webpack_require__(20), - isObjectLike = __webpack_require__(16); + var getNative = __webpack_require__(11), + isLength = __webpack_require__(19), + isObjectLike = __webpack_require__(15); /** `Object#toString` result references. */ var arrayTag = '[object Array]'; @@ -1086,7 +1078,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 24 */ +/* 23 */ /***/ function(module, exports) { /** Used to detect unsigned integer values. */ @@ -1116,14 +1108,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 25 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { - var isArguments = __webpack_require__(22), - isArray = __webpack_require__(23), - isIndex = __webpack_require__(24), - isLength = __webpack_require__(20), - isObject = __webpack_require__(15); + var isArguments = __webpack_require__(21), + isArray = __webpack_require__(22), + isIndex = __webpack_require__(23), + isLength = __webpack_require__(19), + isObject = __webpack_require__(14); /** Used for native method references. */ var objectProto = Object.prototype; @@ -1186,11 +1178,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 26 */ +/* 25 */ /***/ function(module, exports, __webpack_require__) { - var isLength = __webpack_require__(20), - isObjectLike = __webpack_require__(16); + var isLength = __webpack_require__(19), + isObjectLike = __webpack_require__(15); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -1266,10 +1258,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 27 */ +/* 26 */ /***/ function(module, exports, __webpack_require__) { - var identity = __webpack_require__(28); + var identity = __webpack_require__(27); /** * A specialized version of `baseCallback` which only supports `this` binding @@ -1311,7 +1303,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 28 */ +/* 27 */ /***/ function(module, exports) { /** @@ -1337,12 +1329,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 29 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { - var baseClone = __webpack_require__(30), - bindCallback = __webpack_require__(27), - isIterateeCall = __webpack_require__(43); + var baseClone = __webpack_require__(29), + bindCallback = __webpack_require__(26), + isIterateeCall = __webpack_require__(42); /** * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned, @@ -1413,18 +1405,18 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 30 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { - var arrayCopy = __webpack_require__(31), - arrayEach = __webpack_require__(32), - baseAssign = __webpack_require__(33), - baseForOwn = __webpack_require__(35), - initCloneArray = __webpack_require__(39), - initCloneByTag = __webpack_require__(40), - initCloneObject = __webpack_require__(42), - isArray = __webpack_require__(23), - isObject = __webpack_require__(15); + var arrayCopy = __webpack_require__(30), + arrayEach = __webpack_require__(31), + baseAssign = __webpack_require__(32), + baseForOwn = __webpack_require__(34), + initCloneArray = __webpack_require__(38), + initCloneByTag = __webpack_require__(39), + initCloneObject = __webpack_require__(41), + isArray = __webpack_require__(22), + isObject = __webpack_require__(14); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -1547,7 +1539,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 31 */ +/* 30 */ /***/ function(module, exports) { /** @@ -1573,7 +1565,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 32 */ +/* 31 */ /***/ function(module, exports) { /** @@ -1601,11 +1593,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 33 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { - var baseCopy = __webpack_require__(34), - keys = __webpack_require__(11); + var baseCopy = __webpack_require__(33), + keys = __webpack_require__(10); /** * The base implementation of `_.assign` without support for argument juggling, @@ -1626,7 +1618,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 34 */ +/* 33 */ /***/ function(module, exports) { /** @@ -1655,11 +1647,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 35 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { - var baseFor = __webpack_require__(36), - keys = __webpack_require__(11); + var baseFor = __webpack_require__(35), + keys = __webpack_require__(10); /** * The base implementation of `_.forOwn` without support for callback @@ -1678,10 +1670,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 36 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { - var createBaseFor = __webpack_require__(37); + var createBaseFor = __webpack_require__(36); /** * The base implementation of `baseForIn` and `baseForOwn` which iterates @@ -1701,10 +1693,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 37 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { - var toObject = __webpack_require__(38); + var toObject = __webpack_require__(37); /** * Creates a base function for `_.forIn` or `_.forInRight`. @@ -1734,10 +1726,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { - var isObject = __webpack_require__(15); + var isObject = __webpack_require__(14); /** * Converts `value` to an object if it's not one. @@ -1754,7 +1746,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 38 */ /***/ function(module, exports) { /** Used for native method references. */ @@ -1786,10 +1778,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { - var bufferClone = __webpack_require__(41); + var bufferClone = __webpack_require__(40); /** `Object#toString` result references. */ var boolTag = '[object Boolean]', @@ -1855,7 +1847,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 41 */ +/* 40 */ /***/ function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */ @@ -1882,7 +1874,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 42 */ +/* 41 */ /***/ function(module, exports) { /** @@ -1904,12 +1896,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 43 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLike = __webpack_require__(17), - isIndex = __webpack_require__(24), - isObject = __webpack_require__(15); + var isArrayLike = __webpack_require__(16), + isIndex = __webpack_require__(23), + isObject = __webpack_require__(14); /** * Checks if the provided arguments are from an iteratee call. @@ -1938,7 +1930,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 44 */ +/* 43 */ /***/ function(module, exports) { 'use strict'; @@ -1949,7 +1941,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 45 */ +/* 44 */ /***/ function(module, exports) { "use strict"; diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index bd15338..95f6e1b 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 0c30666bbdda5ad59755","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA,OAAM,CAAC,OAAO,GAAG,mBAAO,CAAC,CAAsB,CAAC,C;;;;;;;;;;kCCA9B,CAAO;;;;qCACG,CAAW;;8CACnB,CAAqB;;;;4CACvB,EAAmB;;;;wCACpB,EAAiB;;;;2CACd,EAAoB;;;;;;AAIxC,KAAM,MAAM,GAAG,CACb,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAClE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAC/D,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EACxE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EACpE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAC5D,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EACnE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAC9D,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAC1E,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAClE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EACpE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CACxC,CAAC;;;;;AAKF,KAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAK;AAC1C,UAAO,IAAI,GAAG,iCAAQ,KAAK,CAAC,CAAC;EAC9B,CAAC,CAAC;;AAEH,KAAM,OAAO,GAAG,mBAAM,WAAW,CAAC;AAChC,cAAW,EAAE,SAAS;;AAEtB,YAAS,EAAE;AACT,WAAM,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC9B,YAAO,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC/B,OAAE,EAAE,mBAAM,SAAS,CAAC,MAAM;AAC1B,cAAS,EAAE,mBAAM,SAAS,CAAC,MAAM;IAClC;;AAED,kBAAe,6BAAG;AAChB,YAAO;AACL,aAAM,EAAE,EAAE;AACV,cAAO,EAAE,EAAE;MACZ,CAAC;IACH;;AAED,qBAAkB,gCAAG;AACnB,SAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,+BAAM,CAAC;IAC9C;;AAED,oBAAiB,+BAAG;AAClB,SAAM,MAAM,GAAI,kCAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,SAAM,OAAO,GAAG,kCAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAE,CAAC;AAClD,SAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B;;AAED,4BAAyB,qCAAC,SAAS,EAAE;AACnC,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE;AACjD,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;MACjD;AACD,SAAI,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACzC,WAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;MACxB;IACF;;AAED,wBAAqB,iCAAC,SAAS,EAAE;AAC/B,YACE,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAC/C,CAAC,oCAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAC7C;IACH;;AAED,uBAAoB,kCAAG;AACrB,SAAI,CAAC,OAAO,EAAE,CAAC;IAChB;;AAED,SAAM,oBAAG;AACP,YAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAC7B;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,8BAAuB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;OACtD,GAEF;AACE,SAAE,EAAE,IAAI,CAAC,EAAG;AACZ,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU;AAChC,mBAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAQ;OAEpC,CAAC;IACH;;AAED,QAAK,iBAAC,MAAM,EAAE,OAAO,EAAE;;;AACrB,SAAI,IAAI,CAAC,OAAO,EAAE;AAChB,WAAI,CAAC,OAAO,EAAE,CAAC;MAChB;;;AAGD,SAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,kCAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;MAC3C;;AAED,SAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;AACnC,SAAM,gBAAgB,GAAI,OAAO,aAAa,KAAK,UAAW,CAAC;;AAE/D,WAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,WAAM,CAAC,KAAK,GAAG,UAAC,MAAM,EAAK;AACzB,aAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAK;AAC/B,aAAM,OAAO,GAAG,MAAK,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,aAAI,OAAO,OAAO,KAAK,UAAU,EAAE,OAAO;AAC1C,eAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAC,CAAC,EAAK;;AAEtB,kBAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;UACpB,CAAC,CAAC;QACJ,CAAC,CAAC;;;AAGH,WAAI,OAAO,EAAE;AACX,eAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAM;AACtB,iBAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ;AACD,WAAI,gBAAgB,EAAE;AACpB,sBAAa,CAAC,MAAM,CAAC,CAAC;QACvB;MACF,CAAC;;AAEF,YAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;AAErB,SAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,kCAAY,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;MACrC;;AAED,SAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB;;AAED,UAAO,qBAAG;AACR,YAAO,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,SAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB;EACF,CAAC,CAAC;;;AAGH,cAAa,CAAC,OAAO,CAAC,UAAC,IAAI,EAAK;AAC9B,UAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,mBAAM,SAAS,CAAC,IAAI,CAAC;EAChD,CAAC,CAAC;;AAEH,OAAM,CAAC,OAAO,GAAG,OAAO,C;;;;;;ACrJxB,gD;;;;;;ACAA,gD;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 0c30666bbdda5ad59755\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d8333e64d4db594ff85a","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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EA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap d8333e64d4db594ff85a\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index f3d189a..0e6d14b 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React"),require("ReactDOM")):"function"==typeof define&&define.amd?define(["React","ReactDOM"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React"),require("ReactDOM")):t.ReactTinymceEditor=e(t.React,t.ReactDOM)}(this,function(t,e){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";t.exports=r(1)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}var o=r(2),c=n(o),i=r(3),u=r(4),a=n(u),f=r(29),s=n(f),p=r(44),l=n(p),d=r(45),b=n(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentWillReceiveProps:function(t){a["default"](this.props.config,t.config)||this._init(t.config,t.content),a["default"](this.props.id,t.id)||(this.id=t.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var r=this;this._isInit&&this._remove(),this.isMounted()&&(i.findDOMNode(this).style.hidden="hidden");var n=t.setup,o="function"==typeof n;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),o&&n(t)},tinymce.init(t),this.isMounted()&&(i.findDOMNode(this).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,this.id),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=c["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,r){t.exports=e},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(5),c=r(27);t.exports=n},function(t,e,r){function n(t,e,r,u,a,f){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,f)}var o=r(6),c=r(15),i=r(16);t.exports=n},function(t,e,r){function n(t,e,r,n,l,y,v){var j=u(t),h=u(e),g=s,x=s;j||(g=b.call(t),g==f?g=p:g!=p&&(j=a(t))),h||(x=b.call(e),x==f?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var w=m&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return r(w?t.value():t,P?e.value():e,n,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var R=(j?o:i)(t,e,r,n,l,y,v);return y.pop(),v.pop(),R}var o=r(7),c=r(9),i=r(10),u=r(23),a=r(26),f="[object Arguments]",s="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,f=t.length,s=e.length;if(f!=s&&!(c&&s>f))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,f=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,f="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++nf))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,f=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,f="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(6),\n\t isObject = __webpack_require__(15),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(7),\n\t equalByTag = __webpack_require__(9),\n\t equalObjects = __webpack_require__(10),\n\t isArray = __webpack_require__(23),\n\t isTypedArray = __webpack_require__(26);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(8);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(11);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isArrayLike = __webpack_require__(17),\n\t isObject = __webpack_require__(15),\n\t shimKeys = __webpack_require__(21);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(13);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(18),\n\t isLength = __webpack_require__(20);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(19);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t keysIn = __webpack_require__(25);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(12),\n\t isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(22),\n\t isArray = __webpack_require__(23),\n\t isIndex = __webpack_require__(24),\n\t isLength = __webpack_require__(20),\n\t isObject = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(20),\n\t isObjectLike = __webpack_require__(16);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(28);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(30),\n\t bindCallback = __webpack_require__(27),\n\t isIterateeCall = __webpack_require__(43);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(31),\n\t arrayEach = __webpack_require__(32),\n\t baseAssign = __webpack_require__(33),\n\t baseForOwn = __webpack_require__(35),\n\t initCloneArray = __webpack_require__(39),\n\t initCloneByTag = __webpack_require__(40),\n\t initCloneObject = __webpack_require__(42),\n\t isArray = __webpack_require__(23),\n\t isObject = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(34),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(36),\n\t keys = __webpack_require__(11);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(37);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(38);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(41);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(17),\n\t isIndex = __webpack_require__(24),\n\t isObject = __webpack_require__(15);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e71e62430ddd74702874\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (this.isMounted()) {\n findDOMNode(this).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 5\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 6\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 8\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 9\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 11\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 17\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 21\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 22\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 24\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 25\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 26\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 27\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 28\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 29\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 32\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 34\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 35\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 37\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 38\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 39\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 41\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 42\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 43\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 85e48685ebcd3554cb1d","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentWillReceiveProps","nextProps","shouldComponentUpdate","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config)) {\n\t this._init(nextProps.config, nextProps.content);\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, nextProps.id)) {\n\t this.id = nextProps.id;\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 85e48685ebcd3554cb1d\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 1c227b7..14cb5d0 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -1,5 +1,4 @@ import React from 'react'; -import { findDOMNode } from 'react-dom'; import isEqual from 'lodash/lang/isEqual'; import clone from 'lodash/lang/clone'; import uuid from '../helpers/uuid'; @@ -98,8 +97,8 @@ const TinyMCE = React.createClass({ } // hide the textarea that is me so that no one sees it - if (this.isMounted()) { - findDOMNode(this).style.hidden = 'hidden'; + if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = 'hidden'; } const setupCallback = config.setup; @@ -129,8 +128,8 @@ const TinyMCE = React.createClass({ tinymce.init(config); - if (this.isMounted()) { - findDOMNode(this).style.hidden = ''; + if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = ''; } this._isInit = true; diff --git a/package.json b/package.json index 4f4ff37..f363348 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.3", + "version": "0.6.4", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From f415cb9c284098214fb1d0f4b93b752a7ca90492 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 18:06:37 +0530 Subject: [PATCH 09/30] release v0.6.5 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 10 +++++----- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 10 +++++----- package.json | 2 +- 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8597365..6c2446b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.5 - Mon, 22 Aug 2016 12:36:37 GMT +-------------------------------------- + +- + + v0.6.4 - Mon, 22 Aug 2016 12:21:27 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index e853304..2c2c519 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -124,12 +124,12 @@ return /******/ (function(modules) { // webpackBootstrap this._init(config, content); }, - componentWillReceiveProps: function componentWillReceiveProps(nextProps) { - if (!(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config)) { - this._init(nextProps.config, nextProps.content); + componentDidUpdate: function componentDidUpdate(prevProps) { + if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) { + this.id = this.props.id; } - if (!(0, _lodashLangIsEqual2['default'])(this.props.id, nextProps.id)) { - this.id = nextProps.id; + if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) { + this._init(this.props.config, this.props.content); } }, diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index 95f6e1b..f980082 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d8333e64d4db594ff85a","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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EA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap d8333e64d4db594ff85a\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 018c604195b5dbcaf6be","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 018c604195b5dbcaf6be\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 0e6d14b..9557277 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var o=n(2),c=r(o),i=n(3),u=r(i),a=n(28),f=r(a),s=n(43),p=r(s),l=n(44),d=r(l),b=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=b.map(function(t){return"on"+d["default"](t)}),v=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||p["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e)},componentWillReceiveProps:function(t){u["default"](this.props.config,t.config)||this._init(t.config,t.content),u["default"](this.props.id,t.id)||(this.id=t.id)},shouldComponentUpdate:function(t){return!u["default"](this.props.content,t.content)||!u["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var n=this;this._isInit&&this._remove(),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var r=t.setup,o="function"==typeof r;t.selector="#"+this.id,t.setup=function(t){b.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),o&&r(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,this.id),this._isInit=!1}});y.forEach(function(t){v.propTypes[t]=c["default"].PropTypes.func}),t.exports=v},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,f){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,f)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=s,m=s;j||(g=b.call(t),g==f?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==f?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),E=A&&d.call(e,"__wrapped__");if(w||E)return n(w?t.value():t,E?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var P=y.length;P--;)if(y[P]==t)return v[P]==e;y.push(t),v.push(e);var _=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),_}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),f="[object Arguments]",s="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,f=t.length,s=e.length;if(f!=s&&!(c&&s>f))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,f=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,f="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++rs))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 85e48685ebcd3554cb1d\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.config, nextProps.config)) {\n this._init(nextProps.config, nextProps.content);\n }\n if (!isEqual(this.props.id, nextProps.id)) {\n this.id = nextProps.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 133a07df0c115611039d","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentDidUpdate","prevProps","shouldComponentUpdate","nextProps","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentDidUpdate: function componentDidUpdate(prevProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) {\n\t this.id = this.props.id;\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) {\n\t this._init(this.props.config, this.props.content);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 133a07df0c115611039d\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 14cb5d0..3ddf67b 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -55,12 +55,12 @@ const TinyMCE = React.createClass({ this._init(config, content); }, - componentWillReceiveProps(nextProps) { - if (!isEqual(this.props.config, nextProps.config)) { - this._init(nextProps.config, nextProps.content); + componentDidUpdate(prevProps) { + if (!isEqual(this.props.id, prevProps.id)) { + this.id = this.props.id; } - if (!isEqual(this.props.id, nextProps.id)) { - this.id = nextProps.id; + if (!isEqual(this.props.config, prevProps.config)) { + this._init(this.props.config, this.props.content); } }, diff --git a/package.json b/package.json index f363348..2c22310 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.4", + "version": "0.6.5", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From 998bce735e2fc54633176676131206681d545275 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 18:16:21 +0530 Subject: [PATCH 10/30] release v0.6.6 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 4 +++- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 4 +++- package.json | 2 +- 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c2446b..c5f421a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.6 - Mon, 22 Aug 2016 12:46:21 GMT +-------------------------------------- + +- + + v0.6.5 - Mon, 22 Aug 2016 12:36:37 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index 2c2c519..a737161 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -182,7 +182,9 @@ return /******/ (function(modules) { // webpackBootstrap // old `this.props.content` if (content) { editor.on('init', function () { - editor.setContent(content); + setTimeout(function () { + editor.setContent(content); + }, 100); }); } if (hasSetupCallback) { diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index f980082..b5f1c0f 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 018c604195b5dbcaf6be","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 018c604195b5dbcaf6be\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 7f78bcf9e00bdf231bfc","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 7f78bcf9e00bdf231bfc\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 9557277..e029438 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var o=n(2),c=r(o),i=n(3),u=r(i),a=n(28),s=r(a),f=n(43),p=r(f),l=n(44),d=r(l),b=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=b.map(function(t){return"on"+d["default"](t)}),v=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||p["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentDidUpdate:function(t){u["default"](this.props.id,t.id)||(this.id=this.props.id),u["default"](this.props.config,t.config)||this._init(this.props.config,this.props.content)},shouldComponentUpdate:function(t){return!u["default"](this.props.content,t.content)||!u["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var n=this;this._isInit&&this._remove(),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var r=t.setup,o="function"==typeof r;t.selector="#"+this.id,t.setup=function(t){b.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),o&&r(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,this.id),this._isInit=!1}});y.forEach(function(t){v.propTypes[t]=c["default"].PropTypes.func}),t.exports=v},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),E=A&&d.call(e,"__wrapped__");if(w||E)return n(w?t.value():t,E?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var I=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),I}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++rs))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 133a07df0c115611039d\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 79da2e7e9d1fddc8e272","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentDidUpdate","prevProps","shouldComponentUpdate","nextProps","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setTimeout","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentDidUpdate: function componentDidUpdate(prevProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) {\n\t this.id = this.props.id;\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) {\n\t this._init(this.props.config, this.props.content);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t setTimeout(function () {\n\t editor.setContent(content);\n\t }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 79da2e7e9d1fddc8e272\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 3ddf67b..25bf4d6 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -118,7 +118,9 @@ const TinyMCE = React.createClass({ // old `this.props.content` if (content) { editor.on('init', () => { - editor.setContent(content); + setTimeout(()=>{ + editor.setContent(content); + }, 100); }); } if (hasSetupCallback) { diff --git a/package.json b/package.json index 2c22310..93955bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.5", + "version": "0.6.6", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From 00787a8552854909f811f4c65ca326bab0038a85 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 18:25:50 +0530 Subject: [PATCH 11/30] release v0.6.7 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 9 +++++---- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 9 +++++---- package.json | 2 +- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5f421a..3a7c16f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.7 - Mon, 22 Aug 2016 12:55:50 GMT +-------------------------------------- + +- + + v0.6.6 - Mon, 22 Aug 2016 12:46:21 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index a737161..513f963 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -125,12 +125,12 @@ return /******/ (function(modules) { // webpackBootstrap }, componentDidUpdate: function componentDidUpdate(prevProps) { - if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) { - this.id = this.props.id; - } if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) { this._init(this.props.config, this.props.content); } + if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) { + this.id = this.props.id; + } }, shouldComponentUpdate: function shouldComponentUpdate(nextProps) { @@ -202,7 +202,8 @@ return /******/ (function(modules) { // webpackBootstrap }, _remove: function _remove() { - tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id); + tinymce.get(this.id).remove(); + // EditorManager.execCommand('mceRemoveEditor', true, this.id); this._isInit = false; } }); diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index b5f1c0f..a5c2504 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 7f78bcf9e00bdf231bfc","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 7f78bcf9e00bdf231bfc\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a6182229c80c404e6de3","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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ACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a6182229c80c404e6de3\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.get(this.id).remove();\n // EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index e029438..66f4e7a 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var o=n(2),c=r(o),i=n(3),u=r(i),a=n(28),s=r(a),f=n(43),p=r(f),l=n(44),d=r(l),b=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=b.map(function(t){return"on"+d["default"](t)}),v=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||p["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentDidUpdate:function(t){u["default"](this.props.id,t.id)||(this.id=this.props.id),u["default"](this.props.config,t.config)||this._init(this.props.config,this.props.content)},shouldComponentUpdate:function(t){return!u["default"](this.props.content,t.content)||!u["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var n=this;this._isInit&&this._remove(),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var r=t.setup,o="function"==typeof r;t.selector="#"+this.id,t.setup=function(t){b.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){setTimeout(function(){t.setContent(e)},100)}),o&&r(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,this.id),this._isInit=!1}});y.forEach(function(t){v.propTypes[t]=c["default"].PropTypes.func}),t.exports=v},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),E=A&&d.call(e,"__wrapped__");if(w||E)return n(w?t.value():t,E?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var I=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),I}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++rs))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 79da2e7e9d1fddc8e272\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 2142eb249bf0db71fe60","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentDidUpdate","prevProps","shouldComponentUpdate","nextProps","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setTimeout","setContent","tinymce","init","get","remove","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentDidUpdate: function componentDidUpdate(prevProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) {\n\t this._init(this.props.config, this.props.content);\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) {\n\t this.id = this.props.id;\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t setTimeout(function () {\n\t editor.setContent(content);\n\t }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.get(this.id).remove();\n\t // EditorManager.execCommand('mceRemoveEditor', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 2142eb249bf0db71fe60\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.get(this.id).remove();\n // EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 25bf4d6..f3b1504 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -56,12 +56,12 @@ const TinyMCE = React.createClass({ }, componentDidUpdate(prevProps) { - if (!isEqual(this.props.id, prevProps.id)) { - this.id = this.props.id; - } if (!isEqual(this.props.config, prevProps.config)) { this._init(this.props.config, this.props.content); } + if (!isEqual(this.props.id, prevProps.id)) { + this.id = this.props.id; + } }, shouldComponentUpdate(nextProps) { @@ -138,7 +138,8 @@ const TinyMCE = React.createClass({ }, _remove() { - tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.id); + tinymce.get(this.id).remove(); + // EditorManager.execCommand('mceRemoveEditor', true, this.id); this._isInit = false; } }); diff --git a/package.json b/package.json index 93955bd..2a80e01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.6", + "version": "0.6.7", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From 42221a96bdf39dad23042a8ea1d85f0f718ec70e Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 18:30:36 +0530 Subject: [PATCH 12/30] release v0.6.8 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 9 ++++----- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 9 ++++----- package.json | 2 +- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a7c16f..3f5196e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.8 - Mon, 22 Aug 2016 13:00:36 GMT +-------------------------------------- + +- + + v0.6.7 - Mon, 22 Aug 2016 12:55:50 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index 513f963..cfcdfc5 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -182,9 +182,9 @@ return /******/ (function(modules) { // webpackBootstrap // old `this.props.content` if (content) { editor.on('init', function () { - setTimeout(function () { - editor.setContent(content); - }, 100); + // setTimeout(()=>{ + editor.setContent(content); + // }, 100); }); } if (hasSetupCallback) { @@ -202,8 +202,7 @@ return /******/ (function(modules) { // webpackBootstrap }, _remove: function _remove() { - tinymce.get(this.id).remove(); - // EditorManager.execCommand('mceRemoveEditor', true, this.id); + tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id); this._isInit = false; } }); diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index a5c2504..ca21b8b 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a6182229c80c404e6de3","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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ACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a6182229c80c404e6de3\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.get(this.id).remove();\n // EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 4a8dca683984a9ce6b62","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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A;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4a8dca683984a9ce6b62\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 66f4e7a..3d1eed0 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var o=n(2),c=r(o),i=n(3),u=r(i),a=n(28),s=r(a),f=n(43),p=r(f),l=n(44),d=r(l),b=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=b.map(function(t){return"on"+d["default"](t)}),v=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||p["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentDidUpdate:function(t){u["default"](this.props.config,t.config)||this._init(this.props.config,this.props.content),u["default"](this.props.id,t.id)||(this.id=this.props.id)},shouldComponentUpdate:function(t){return!u["default"](this.props.content,t.content)||!u["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var n=this;this._isInit&&this._remove(),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var r=t.setup,o="function"==typeof r;t.selector="#"+this.id,t.setup=function(t){b.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){setTimeout(function(){t.setContent(e)},100)}),o&&r(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.get(this.id).remove(),this._isInit=!1}});y.forEach(function(t){v.propTypes[t]=c["default"].PropTypes.func}),t.exports=v},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),_=A&&d.call(e,"__wrapped__");if(w||_)return n(w?t.value():t,_?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var E=y.length;E--;)if(y[E]==t)return v[E]==e;y.push(t),v.push(e);var I=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),I}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++rs))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 2142eb249bf0db71fe60\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n setTimeout(()=>{\n editor.setContent(content);\n }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.get(this.id).remove();\n // EditorManager.execCommand('mceRemoveEditor', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap c24e508f69e1079ffd73","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","componentDidUpdate","prevProps","shouldComponentUpdate","nextProps","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","hasOwnProperty","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","Object","prototype","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","keys","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content);\n\t },\n\t\n\t componentDidUpdate: function componentDidUpdate(prevProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) {\n\t this._init(this.props.config, this.props.content);\n\t }\n\t if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) {\n\t this.id = this.props.id;\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove();\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove();\n\t }\n\t\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t // setTimeout(()=>{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap c24e508f69e1079ffd73\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index f3b1504..074ac01 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -118,9 +118,9 @@ const TinyMCE = React.createClass({ // old `this.props.content` if (content) { editor.on('init', () => { - setTimeout(()=>{ - editor.setContent(content); - }, 100); + // setTimeout(()=>{ + editor.setContent(content); + // }, 100); }); } if (hasSetupCallback) { @@ -138,8 +138,7 @@ const TinyMCE = React.createClass({ }, _remove() { - tinymce.get(this.id).remove(); - // EditorManager.execCommand('mceRemoveEditor', true, this.id); + tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id); this._isInit = false; } }); diff --git a/package.json b/package.json index 2a80e01..7710d50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.7", + "version": "0.6.8", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From f6ffe7d8ecbb3ef8b331089e9fded7ad07dd25f2 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 18:56:40 +0530 Subject: [PATCH 13/30] release v0.6.9 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 32 +++++++++++++++++----------- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 29 +++++++++++++------------ package.json | 2 +- 7 files changed, 44 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f5196e..921fd1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.6.9 - Mon, 22 Aug 2016 13:26:40 GMT +-------------------------------------- + +- + + v0.6.8 - Mon, 22 Aug 2016 13:00:36 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index cfcdfc5..5528ce0 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -66,6 +66,8 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } + var _react = __webpack_require__(2); var _react2 = _interopRequireDefault(_react); @@ -121,15 +123,19 @@ return /******/ (function(modules) { // webpackBootstrap componentDidMount: function componentDidMount() { var config = (0, _lodashLangClone2['default'])(this.props.config); var content = (0, _lodashLangClone2['default'])(this.props.content || ''); - this._init(config, content); + this._init(config, content, this.props.id); }, + _getPropData: function _getPropData(props) { + var content = props.content; - componentDidUpdate: function componentDidUpdate(prevProps) { - if (!(0, _lodashLangIsEqual2['default'])(this.props.config, prevProps.config)) { - this._init(this.props.config, this.props.content); - } - if (!(0, _lodashLangIsEqual2['default'])(this.props.id, prevProps.id)) { - this.id = this.props.id; + var partialprops = _objectWithoutProperties(props, ['content']); + + this.content = content; + return partialprops; + }, + componentWillReceiveProps: function componentWillReceiveProps(nextProps) { + if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) { + this._init(nextProps.config, nextProps.content, nextProps.id); } }, @@ -138,7 +144,7 @@ return /******/ (function(modules) { // webpackBootstrap }, componentWillUnmount: function componentWillUnmount() { - this._remove(); + this._remove(this.props.id); }, render: function render() { @@ -153,13 +159,13 @@ return /******/ (function(modules) { // webpackBootstrap }); }, - _init: function _init(config, content) { + _init: function _init(config, content, id) { var _this = this; if (this._isInit) { - this._remove(); + this._remove(this.props.id); } - + this.id = id; // hide the textarea that is me so that no one sees it if (document.getElementById(this.id)) { document.getElementById(this.id).style.hidden = 'hidden'; @@ -201,8 +207,8 @@ return /******/ (function(modules) { // webpackBootstrap this._isInit = true; }, - _remove: function _remove() { - tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id); + _remove: function _remove(id) { + tinymce.EditorManager.execCommand('mceRemoveControl', true, id); this._isInit = false; } }); diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index ca21b8b..b63272f 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 4a8dca683984a9ce6b62","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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A;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4a8dca683984a9ce6b62\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2230183b9334df2b8c6b","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 2230183b9334df2b8c6b\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.props.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.props.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.props.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 3d1eed0..518f81a 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var o=n(2),c=r(o),i=n(3),u=r(i),a=n(28),s=r(a),f=n(43),p=r(f),l=n(44),d=r(l),b=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=b.map(function(t){return"on"+d["default"](t)}),v=c["default"].createClass({displayName:"TinyMCE",propTypes:{config:c["default"].PropTypes.object,content:c["default"].PropTypes.string,id:c["default"].PropTypes.string,className:c["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||p["default"]()},componentDidMount:function(){var t=s["default"](this.props.config),e=s["default"](this.props.content||"");this._init(t,e)},componentDidUpdate:function(t){u["default"](this.props.config,t.config)||this._init(this.props.config,this.props.content),u["default"](this.props.id,t.id)||(this.id=this.props.id)},shouldComponentUpdate:function(t){return!u["default"](this.props.content,t.content)||!u["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove()},render:function(){return this.props.config.inline?c["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):c["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e){var n=this;this._isInit&&this._remove(),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var r=t.setup,o="function"==typeof r;t.selector="#"+this.id,t.setup=function(t){b.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),o&&r(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(){tinymce.EditorManager.execCommand("mceRemoveControl",!0,this.id),this._isInit=!1}});y.forEach(function(t){v.propTypes[t]=c["default"].PropTypes.func}),t.exports=v},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),E=A&&d.call(e,"__wrapped__");if(w||E)return n(w?t.value():t,E?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var I=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),I}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var c=n(2),i=r(c),u=n(3),a=r(u),s=n(28),f=r(s),p=n(43),l=r(p),d=n(44),b=r(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.props.id)},_getPropData:function(t){var e=t.content,n=o(t,["content"]);return this.content=e,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove(this.props.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,n){var r=this;this._isInit&&this._remove(this.props.id),this.id=n,document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var o=t.setup,c="function"==typeof o;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),c&&o(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveControl",!0,t),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return n(w?t.value():t,P?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var E=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),E}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove() {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap c24e508f69e1079ffd73\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content);\n },\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.config, prevProps.config)) {\n this._init(this.props.config, this.props.content);\n }\n if (!isEqual(this.props.id, prevProps.id)) {\n this.id = this.props.id;\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove();\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content) {\n if (this._isInit) {\n this._remove();\n }\n\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove() {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap a7a2796986992b69260b","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_objectWithoutProperties","keys","target","i","indexOf","Object","prototype","hasOwnProperty","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","_getPropData","partialprops","componentWillReceiveProps","nextProps","shouldComponentUpdate","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.props.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content']);\n\t\n\t this.content = content;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.props.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove(this.props.id);\n\t }\n\t this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t // setTimeout(()=>{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a7a2796986992b69260b\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.props.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.props.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.props.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 074ac01..3bd6096 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -52,15 +52,16 @@ const TinyMCE = React.createClass({ componentDidMount() { const config = clone(this.props.config); const content = clone( this.props.content || '' ); - this._init(config, content); + this._init(config, content, this.props.id); }, - - componentDidUpdate(prevProps) { - if (!isEqual(this.props.config, prevProps.config)) { - this._init(this.props.config, this.props.content); - } - if (!isEqual(this.props.id, prevProps.id)) { - this.id = this.props.id; + _getPropData(props) { + const {content, ...partialprops} = props; + this.content = content; + return partialprops; + }, + componentWillReceiveProps(nextProps) { + if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) { + this._init(nextProps.config, nextProps.content, nextProps.id); } }, @@ -72,7 +73,7 @@ const TinyMCE = React.createClass({ }, componentWillUnmount() { - this._remove(); + this._remove(this.props.id); }, render() { @@ -91,11 +92,11 @@ const TinyMCE = React.createClass({ ); }, - _init(config, content) { + _init(config, content, id) { if (this._isInit) { - this._remove(); + this._remove(this.props.id); } - + this.id = id; // hide the textarea that is me so that no one sees it if (document.getElementById(this.id)) { document.getElementById(this.id).style.hidden = 'hidden'; @@ -137,8 +138,8 @@ const TinyMCE = React.createClass({ this._isInit = true; }, - _remove() { - tinymce.EditorManager.execCommand('mceRemoveControl', true, this.id); + _remove(id) { + tinymce.EditorManager.execCommand('mceRemoveControl', true, id); this._isInit = false; } }); diff --git a/package.json b/package.json index 7710d50..1aede33 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.8", + "version": "0.6.9", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From f9d54e2d4cf67592cc4fa3a2c4413c8e1c18e188 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Mon, 22 Aug 2016 19:03:27 +0530 Subject: [PATCH 14/30] release v0.7.2 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 8 ++++---- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 8 ++++---- package.json | 2 +- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 921fd1c..e634189 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.7.2 - Mon, 22 Aug 2016 13:33:27 GMT +-------------------------------------- + +- + + v0.6.9 - Mon, 22 Aug 2016 13:26:40 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index 5528ce0..3a9eb95 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -123,7 +123,7 @@ return /******/ (function(modules) { // webpackBootstrap componentDidMount: function componentDidMount() { var config = (0, _lodashLangClone2['default'])(this.props.config); var content = (0, _lodashLangClone2['default'])(this.props.content || ''); - this._init(config, content, this.props.id); + this._init(config, content, this.id); }, _getPropData: function _getPropData(props) { var content = props.content; @@ -135,7 +135,7 @@ return /******/ (function(modules) { // webpackBootstrap }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) { - this._init(nextProps.config, nextProps.content, nextProps.id); + this._init(nextProps.config, nextProps.content, nextProps.id || this.id); } }, @@ -144,7 +144,7 @@ return /******/ (function(modules) { // webpackBootstrap }, componentWillUnmount: function componentWillUnmount() { - this._remove(this.props.id); + this._remove(this.id); }, render: function render() { @@ -163,7 +163,7 @@ return /******/ (function(modules) { // webpackBootstrap var _this = this; if (this._isInit) { - this._remove(this.props.id); + this._remove(this.id); } this.id = id; // hide the textarea that is me so that no one sees it diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index b63272f..61b8c84 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2230183b9334df2b8c6b","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 2230183b9334df2b8c6b\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.props.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.props.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.props.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a1f4fe7ac995c2dd4ce8","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a1f4fe7ac995c2dd4ce8\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 518f81a..9ea0f24 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var c=n(2),i=r(c),u=n(3),a=r(u),s=n(28),f=r(s),p=n(43),l=r(p),d=n(44),b=r(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.props.id)},_getPropData:function(t){var e=t.content,n=o(t,["content"]);return this.content=e,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove(this.props.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,n){var r=this;this._isInit&&this._remove(this.props.id),this.id=n,document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var o=t.setup,c="function"==typeof o;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),c&&o(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveControl",!0,t),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return n(w?t.value():t,P?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var E=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),E}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var c=n(2),i=r(c),u=n(3),a=r(u),s=n(28),f=r(s),p=n(43),l=r(p),d=n(44),b=r(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,n=o(t,["content"]);return this.content=e,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,n){var r=this;this._isInit&&this._remove(this.id),this.id=n,document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var o=t.setup,c="function"==typeof o;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),c&&o(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveControl",!0,t),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return n(w?t.value():t,P?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var E=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),E}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.props.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content']);\n\t\n\t this.content = content;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.props.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove(this.props.id);\n\t }\n\t this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t // setTimeout(()=>{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a7a2796986992b69260b\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.props.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id);\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.props.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.props.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 4bedd34985e4766cf257","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_objectWithoutProperties","keys","target","i","indexOf","Object","prototype","hasOwnProperty","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","getDefaultProps","componentWillMount","props","componentDidMount","_init","_getPropData","partialprops","componentWillReceiveProps","nextProps","shouldComponentUpdate","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","_isInit","document","getElementById","style","hidden","setupCallback","setup","hasSetupCallback","selector","editor","forEach","index","handler","on","e","setContent","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","undefined","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content']);\n\t\n\t this.content = content;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove(this.id);\n\t }\n\t this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t // setTimeout(()=>{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4bedd34985e4766cf257\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 3bd6096..c19098c 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -52,7 +52,7 @@ const TinyMCE = React.createClass({ componentDidMount() { const config = clone(this.props.config); const content = clone( this.props.content || '' ); - this._init(config, content, this.props.id); + this._init(config, content, this.id); }, _getPropData(props) { const {content, ...partialprops} = props; @@ -61,7 +61,7 @@ const TinyMCE = React.createClass({ }, componentWillReceiveProps(nextProps) { if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) { - this._init(nextProps.config, nextProps.content, nextProps.id); + this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id )); } }, @@ -73,7 +73,7 @@ const TinyMCE = React.createClass({ }, componentWillUnmount() { - this._remove(this.props.id); + this._remove(this.id); }, render() { @@ -94,7 +94,7 @@ const TinyMCE = React.createClass({ _init(config, content, id) { if (this._isInit) { - this._remove(this.props.id); + this._remove(this.id); } this.id = id; // hide the textarea that is me so that no one sees it diff --git a/package.json b/package.json index 1aede33..5915524 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.6.9", + "version": "0.7.2", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { From 01adfa8c7c0c12ed9e2918f6323026446c06c4fe Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Tue, 23 Aug 2016 12:34:12 +0530 Subject: [PATCH 15/30] [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body [fixed] use the latest handler passed in by the props [Added] reset props which excepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime --- dist/react-tinymce-editor.js | 108 +++++++++++++++------------ dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 88 +++++++++++----------- package.json | 2 +- 6 files changed, 107 insertions(+), 97 deletions(-) diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index 3a9eb95..aba7416 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -64,9 +64,15 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { 'default': obj }; + } - function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } + function _objectWithoutProperties(obj, keys) { + var target = {};for (var i in obj) { + if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; + }return target; + } var _react = __webpack_require__(2); @@ -106,7 +112,8 @@ return /******/ (function(modules) { // webpackBootstrap config: _react2['default'].PropTypes.object, content: _react2['default'].PropTypes.string, id: _react2['default'].PropTypes.string, - className: _react2['default'].PropTypes.string + className: _react2['default'].PropTypes.string, + reset: _react2['default'].PropTypes.number }, getDefaultProps: function getDefaultProps() { @@ -127,10 +134,12 @@ return /******/ (function(modules) { // webpackBootstrap }, _getPropData: function _getPropData(props) { var content = props.content; + var config = props.config; - var partialprops = _objectWithoutProperties(props, ['content']); + var partialprops = _objectWithoutProperties(props, ['content', 'config']); this.content = content; + this.config1 = config; return partialprops; }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { @@ -140,7 +149,10 @@ return /******/ (function(modules) { // webpackBootstrap }, shouldComponentUpdate: function shouldComponentUpdate(nextProps) { - return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config); + if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) { + this.editor.setContent(nextProps.content); + } + return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)); }, componentWillUnmount: function componentWillUnmount() { @@ -162,53 +174,55 @@ return /******/ (function(modules) { // webpackBootstrap _init: function _init(config, content, id) { var _this = this; - if (this._isInit) { - this._remove(this.id); - } - this.id = id; - // hide the textarea that is me so that no one sees it - if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = 'hidden'; - } - - var setupCallback = config.setup; - var hasSetupCallback = typeof setupCallback === 'function'; - - config.selector = '#' + this.id; - config.setup = function (editor) { - EVENTS.forEach(function (event, index) { - var handler = _this.props[HANDLER_NAMES[index]]; - if (typeof handler !== 'function') return; - editor.on(event, function (e) { - // native DOM events don't have access to the editor so we pass it here - handler(e, editor); - }); - }); - // need to set content here because the textarea will still have the - // old `this.props.content` - if (content) { - editor.on('init', function () { - // setTimeout(()=>{ - editor.setContent(content); - // }, 100); + setTimeout(function () { + console.log("reseting"); + var oldId = _this.id; + _this.id = id; + // hide the textarea that is me so that no one sees it + /** if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = 'hidden'; + } **/ + + var setupCallback = config.setup; + var hasSetupCallback = typeof setupCallback === 'function'; + config.selector = '#' + _this.id; + config.setup = function (editor) { + _this.editor = editor; + EVENTS.forEach(function (event, index) { + var handler = _this.props[HANDLER_NAMES[index]]; + if (typeof handler !== 'function') return; + editor.on(event, function (e) { + // native DOM events don't have access to the editor so we pass it here + //setTimeout(()=>{ + handler(e, editor); + //},10); + //editor + }); }); + // need to set content here because the textarea will still have the + // old `this.props.content` + if (content) { + editor.on('init', function () { + editor.setContent(content); + }); + } + if (hasSetupCallback) { + setupCallback(editor); + } + }; + if (_this._isInit) { + _this._remove(oldId); } - if (hasSetupCallback) { - setupCallback(editor); - } - }; - - tinymce.init(config); - - if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = ''; - } - - this._isInit = true; + tinymce.init(config); + /** if (document.getElementById(this.id)) { + document.getElementById(this.id).style.hidden = ''; + } **/ + _this._isInit = true; + }, 5); }, _remove: function _remove(id) { - tinymce.EditorManager.execCommand('mceRemoveControl', true, id); + tinymce.EditorManager.execCommand('mceRemoveEditor', false, id); this._isInit = false; } }); diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index 61b8c84..050c97f 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a1f4fe7ac995c2dd4ce8","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a1f4fe7ac995c2dd4ce8\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap fac0430d7241e0b76225","webpack:///./build/lib/main.js","webpack:///./build/lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./build/lib/helpers/uuid.js","webpack:///./build/lib/helpers/ucFirst.js"],"names":[],"mappings":"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CtB;EACF,CAAC,CAAC;;;AAGH,cAAa,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACpC,UAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;EAC7D,CAAC,CAAC;;AAEH,OAAM,CAAC,OAAO,GAAG,OAAO,C;;;;;;ACpKxB,gD;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,aAAY,CAAC;;AAEb,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;ACLD,aAAY,CAAC;;AAEb,OAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;AAC3C,QAAK,EAAE,IAAI;EACZ,CAAC,CAAC;AACH,QAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;;AAE7B,UAAS,OAAO,CAAC,GAAG,EAAE;AACpB,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD;;AAED,OAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,C","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap fac0430d7241e0b76225\n **/","'use strict';\n\nmodule.exports = require('./components/TinyMCE');\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/main.js\n **/","'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodashLangIsEqual = require('lodash/lang/isEqual');\n\nvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\nvar _lodashLangClone = require('lodash/lang/clone');\n\nvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\nvar _helpersUuid = require('../helpers/uuid');\n\nvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\nvar _helpersUcFirst = require('../helpers/ucFirst');\n\nvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nvar HANDLER_NAMES = EVENTS.map(function (event) {\n return 'on' + (0, _helpersUcFirst2['default'])(event);\n});\n\nvar TinyMCE = _react2['default'].createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: _react2['default'].PropTypes.object,\n content: _react2['default'].PropTypes.string,\n id: _react2['default'].PropTypes.string,\n className: _react2['default'].PropTypes.string,\n reset: _react2['default'].PropTypes.number\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount: function componentWillMount() {\n this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n },\n\n componentDidMount: function componentDidMount() {\n var config = (0, _lodashLangClone2['default'])(this.props.config);\n var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n this._init(config, content, this.id);\n },\n _getPropData: function _getPropData(props) {\n var content = props.content;\n var config = props.config;\n\n var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n }\n },\n\n shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n },\n\n componentWillUnmount: function componentWillUnmount() {\n this._remove(this.id);\n },\n\n render: function render() {\n return this.props.config.inline ? _react2['default'].createElement('div', {\n id: this.id,\n className: this.props.className,\n dangerouslySetInnerHTML: { __html: this.props.content }\n }) : _react2['default'].createElement('textarea', {\n id: this.id,\n className: this.props.className,\n defaultValue: this.props.content\n });\n },\n\n _init: function _init(config, content, id) {\n var _this = this;\n\n setTimeout(function () {\n console.log(\"reseting\");\n var oldId = _this.id;\n _this.id = id;\n // hide the textarea that is me so that no one sees it\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n } **/\n\n var setupCallback = config.setup;\n var hasSetupCallback = typeof setupCallback === 'function';\n config.selector = '#' + _this.id;\n config.setup = function (editor) {\n _this.editor = editor;\n EVENTS.forEach(function (event, index) {\n var handler = _this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, function (e) {\n // native DOM events don't have access to the editor so we pass it here\n //setTimeout(()=>{\n handler(e, editor);\n //},10);\n //editor\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', function () {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (_this._isInit) {\n _this._remove(oldId);\n }\n tinymce.init(config);\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n } **/\n _this._isInit = true;\n }, 5);\n },\n\n _remove: function _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach(function (name) {\n TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nvar count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/uuid.js\n **/","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = ucFirst;\n\nfunction ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index 9ea0f24..af13473 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";t.exports=n(1)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var c=n(2),i=r(c),u=n(3),a=r(u),s=n(28),f=r(s),p=n(43),l=r(p),d=n(44),b=r(d),y=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],v=y.map(function(t){return"on"+b["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,n=o(t,["content"]);return this.content=e,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return!a["default"](this.props.content,t.content)||!a["default"](this.props.config,t.config)},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,n){var r=this;this._isInit&&this._remove(this.id),this.id=n,document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden="hidden");var o=t.setup,c="function"==typeof o;t.selector="#"+this.id,t.setup=function(t){y.forEach(function(e,n){var o=r.props[v[n]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),c&&o(t)},tinymce.init(t),document.getElementById(this.id)&&(document.getElementById(this.id).style.hidden=""),this._isInit=!0},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveControl",!0,t),this._isInit=!1}});v.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,n){e.exports=t},function(t,e,n){function r(t,e,n,r){n="function"==typeof n?c(n,r,3):void 0;var i=n?n(t,e):void 0;return void 0===i?o(t,e,n):!!i}var o=n(4),c=n(26);t.exports=r},function(t,e,n){function r(t,e,n,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,r,n,u,a,s)}var o=n(5),c=n(14),i=n(15);t.exports=r},function(t,e,n){function r(t,e,n,r,l,y,v){var j=u(t),h=u(e),g=f,m=f;j||(g=b.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(m=b.call(e),m==s?m=p:m!=p&&(h=a(e)));var x=g==p,A=m==p,O=g==m;if(O&&!j&&!x)return c(t,e,g);if(!l){var w=x&&d.call(t,"__wrapped__"),P=A&&d.call(e,"__wrapped__");if(w||P)return n(w?t.value():t,P?e.value():e,r,l,y,v)}if(!O)return!1;y||(y=[]),v||(v=[]);for(var _=y.length;_--;)if(y[_]==t)return v[_]==e;y.push(t),v.push(e);var E=(j?o:i)(t,e,n,r,l,y,v);return y.pop(),v.pop(),E}var o=n(6),c=n(8),i=n(9),u=n(22),a=n(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,d=l.hasOwnProperty,b=l.toString;t.exports=r},function(t,e,n){function r(t,e,n,r,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){for(var e=a(t),n=e.length,r=n&&t.length,s=!!r&&u(r)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var r=/^\d+$/,o=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var n=t.constructor,r=-1,s="function"==typeof n&&n.prototype===t,p=Array(e),l=e>0;++r=0||Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r}var c=r(2),i=n(c),u=r(3),a=n(u),s=r(28),f=n(s),p=r(43),l=n(p),b=r(44),d=n(b),v=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=v.map(function(t){return"on"+d["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string,reset:i["default"].PropTypes.number},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,r=t.config,n=o(t,["content","config"]);return this.content=e,this.config1=r,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return a["default"](this._getPropData(t),this._getPropData(this.props))&&this.props.content!=t.content&&void 0!==this._isInit&&this._isInit===!0&&this.editor.setContent(t.content),!a["default"](this._getPropData(t),this._getPropData(this.props))},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,r){var n=this;setTimeout(function(){console.log("reseting");var o=n.id;n.id=r;var c=t.setup,i="function"==typeof c;t.selector="#"+n.id,t.setup=function(t){n.editor=t,v.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),i&&c(t)},n._isInit&&n._remove(o),tinymce.init(t),n._isInit=!0},5)},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveEditor",!1,t),this._isInit=!1}});y.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(4),c=r(26);t.exports=n},function(t,e,r){function n(t,e,r,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,s)}var o=r(5),c=r(14),i=r(15);t.exports=n},function(t,e,r){function n(t,e,r,n,l,v,y){var j=u(t),h=u(e),g=f,x=f;j||(g=d.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(x=d.call(e),x==s?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var P=m&&b.call(t,"__wrapped__"),_=A&&b.call(e,"__wrapped__");if(P||_)return r(P?t.value():t,_?e.value():e,n,l,v,y)}if(!O)return!1;v||(v=[]),y||(y=[]);for(var w=v.length;w--;)if(v[w]==t)return y[w]==e;v.push(t),y.push(e);var C=(j?o:i)(t,e,r,n,l,v,y);return v.pop(),y.pop(),C}var o=r(6),c=r(8),i=r(9),u=r(22),a=r(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,b=l.hasOwnProperty,d=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,s=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,s="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content']);\n\t\n\t this.content = content;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t return !(0, _lodashLangIsEqual2['default'])(this.props.content, nextProps.content) || !(0, _lodashLangIsEqual2['default'])(this.props.config, nextProps.config);\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t if (this._isInit) {\n\t this._remove(this.id);\n\t }\n\t this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t }\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t\n\t config.selector = '#' + this.id;\n\t config.setup = function (editor) {\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t // setTimeout(()=>{\n\t editor.setContent(content);\n\t // }, 100);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t\n\t tinymce.init(config);\n\t\n\t if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t }\n\t\n\t this._isInit = true;\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4bedd34985e4766cf257\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, ...partialprops} = props;\n this.content = content;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n return (\n !isEqual(this.props.content, nextProps.content) ||\n !isEqual(this.props.config, nextProps.config)\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n if (this._isInit) {\n this._remove(this.id);\n }\n this.id = id;\n // hide the textarea that is me so that no one sees it\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n }\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n // setTimeout(()=>{\n editor.setContent(content);\n // }, 100);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n\n tinymce.init(config);\n\n if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n }\n\n this._isInit = true;\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveControl', true, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 60db5be14dc92206040d","webpack:///./build/lib/main.js","webpack:///./build/lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./build/lib/helpers/uuid.js","webpack:///./build/lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_objectWithoutProperties","keys","target","i","indexOf","Object","prototype","hasOwnProperty","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","reset","number","getDefaultProps","componentWillMount","props","componentDidMount","_init","_getPropData","partialprops","config1","componentWillReceiveProps","nextProps","shouldComponentUpdate","undefined","_isInit","editor","setContent","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","setTimeout","console","log","oldId","setupCallback","setup","hasSetupCallback","selector","forEach","index","handler","on","e","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) {\n\t return obj && obj.__esModule ? obj : { 'default': obj };\n\t}\n\t\n\tfunction _objectWithoutProperties(obj, keys) {\n\t var target = {};for (var i in obj) {\n\t if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n\t }return target;\n\t}\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string,\n\t reset: _react2['default'].PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t var config = props.config;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\t\n\t this.content = content;\n\t this.config1 = config;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n\t this.editor.setContent(nextProps.content);\n\t }\n\t return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t setTimeout(function () {\n\t console.log(\"reseting\");\n\t var oldId = _this.id;\n\t _this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t /** if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t } **/\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t config.selector = '#' + _this.id;\n\t config.setup = function (editor) {\n\t _this.editor = editor;\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t //setTimeout(()=>{\n\t handler(e, editor);\n\t //},10);\n\t //editor\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t if (_this._isInit) {\n\t _this._remove(oldId);\n\t }\n\t tinymce.init(config);\n\t /** if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t } **/\n\t _this._isInit = true;\n\t }, 5);\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 60db5be14dc92206040d\n **/","'use strict';\n\nmodule.exports = require('./components/TinyMCE');\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/main.js\n **/","'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodashLangIsEqual = require('lodash/lang/isEqual');\n\nvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\nvar _lodashLangClone = require('lodash/lang/clone');\n\nvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\nvar _helpersUuid = require('../helpers/uuid');\n\nvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\nvar _helpersUcFirst = require('../helpers/ucFirst');\n\nvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nvar HANDLER_NAMES = EVENTS.map(function (event) {\n return 'on' + (0, _helpersUcFirst2['default'])(event);\n});\n\nvar TinyMCE = _react2['default'].createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: _react2['default'].PropTypes.object,\n content: _react2['default'].PropTypes.string,\n id: _react2['default'].PropTypes.string,\n className: _react2['default'].PropTypes.string,\n reset: _react2['default'].PropTypes.number\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount: function componentWillMount() {\n this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n },\n\n componentDidMount: function componentDidMount() {\n var config = (0, _lodashLangClone2['default'])(this.props.config);\n var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n this._init(config, content, this.id);\n },\n _getPropData: function _getPropData(props) {\n var content = props.content;\n var config = props.config;\n\n var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n }\n },\n\n shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n },\n\n componentWillUnmount: function componentWillUnmount() {\n this._remove(this.id);\n },\n\n render: function render() {\n return this.props.config.inline ? _react2['default'].createElement('div', {\n id: this.id,\n className: this.props.className,\n dangerouslySetInnerHTML: { __html: this.props.content }\n }) : _react2['default'].createElement('textarea', {\n id: this.id,\n className: this.props.className,\n defaultValue: this.props.content\n });\n },\n\n _init: function _init(config, content, id) {\n var _this = this;\n\n setTimeout(function () {\n console.log(\"reseting\");\n var oldId = _this.id;\n _this.id = id;\n // hide the textarea that is me so that no one sees it\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n } **/\n\n var setupCallback = config.setup;\n var hasSetupCallback = typeof setupCallback === 'function';\n config.selector = '#' + _this.id;\n config.setup = function (editor) {\n _this.editor = editor;\n EVENTS.forEach(function (event, index) {\n var handler = _this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, function (e) {\n // native DOM events don't have access to the editor so we pass it here\n //setTimeout(()=>{\n handler(e, editor);\n //},10);\n //editor\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', function () {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (_this._isInit) {\n _this._remove(oldId);\n }\n tinymce.init(config);\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n } **/\n _this._isInit = true;\n }, 5);\n },\n\n _remove: function _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach(function (name) {\n TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nvar count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/uuid.js\n **/","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = ucFirst;\n\nfunction ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index c19098c..8de85b0 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -35,7 +35,8 @@ const TinyMCE = React.createClass({ config: React.PropTypes.object, content: React.PropTypes.string, id: React.PropTypes.string, - className: React.PropTypes.string + className: React.PropTypes.string, + reset: React.PropTypes.number }, getDefaultProps() { @@ -55,8 +56,9 @@ const TinyMCE = React.createClass({ this._init(config, content, this.id); }, _getPropData(props) { - const {content, ...partialprops} = props; + const {content, config, ...partialprops} = props; this.content = content; + this.config1 = config; return partialprops; }, componentWillReceiveProps(nextProps) { @@ -66,9 +68,12 @@ const TinyMCE = React.createClass({ }, shouldComponentUpdate(nextProps) { + if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) && + this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) { + this.editor.setContent(nextProps.content); + } return ( - !isEqual(this.props.content, nextProps.content) || - !isEqual(this.props.config, nextProps.config) + !isEqual(this._getPropData(nextProps), this._getPropData(this.props)) ); }, @@ -93,53 +98,44 @@ const TinyMCE = React.createClass({ }, _init(config, content, id) { - if (this._isInit) { - this._remove(this.id); - } - this.id = id; - // hide the textarea that is me so that no one sees it - if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = 'hidden'; - } - - const setupCallback = config.setup; - const hasSetupCallback = (typeof setupCallback === 'function'); - - config.selector = '#' + this.id; - config.setup = (editor) => { - EVENTS.forEach((event, index) => { - const handler = this.props[HANDLER_NAMES[index]]; - if (typeof handler !== 'function') return; - editor.on(event, (e) => { - // native DOM events don't have access to the editor so we pass it here - handler(e, editor); - }); - }); - // need to set content here because the textarea will still have the - // old `this.props.content` - if (content) { - editor.on('init', () => { - // setTimeout(()=>{ - editor.setContent(content); - // }, 100); + setTimeout(()=>{ + const oldId = this.id; + this.id = id; + + const setupCallback = config.setup; + const hasSetupCallback = (typeof setupCallback === 'function'); + config.selector = '#' + this.id; + config.setup = (editor) => { + this.editor = editor; + EVENTS.forEach((event, index) => { + const handler = this.props[HANDLER_NAMES[index]]; + if (typeof handler !== 'function') return; + editor.on(event, (e) => { + // native DOM events don't have access to the editor so we pass it here + handler(e, editor); + }); }); + // need to set content here because the textarea will still have the + // old `this.props.content` + if (content) { + editor.on('init', () => { + editor.setContent(content); + }); + } + if (hasSetupCallback) { + setupCallback(editor); + } + }; + if (this._isInit) { + this._remove(oldId); } - if (hasSetupCallback) { - setupCallback(editor); - } - }; - - tinymce.init(config); - - if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = ''; - } - - this._isInit = true; + tinymce.init(config); + this._isInit = true; + }, 5); }, _remove(id) { - tinymce.EditorManager.execCommand('mceRemoveControl', true, id); + tinymce.EditorManager.execCommand('mceRemoveEditor', false, id); this._isInit = false; } }); diff --git a/package.json b/package.json index 5915524..152946f 100644 --- a/package.json +++ b/package.json @@ -35,4 +35,4 @@ "dependencies": { "lodash": "^3.9.3" } -} \ No newline at end of file +} From 48beef2713a6862c9d8131dbaa512e2ef58ff374 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Tue, 23 Aug 2016 12:37:47 +0530 Subject: [PATCH 16/30] [Added] extra note to README.md regarding bind methods in Handler --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f28660b..1a4db28 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,10 @@ const App = React.createClass({ ReactDOM.render(, document.getElementById('container')); ``` +## Note : + +Do not use handler like this.someFunc.bind(this), this will result props compare to fail and it reset on every change. +Solution: Bind the func to this in constructor and just use this.someFunc in handler ## Dependency From e841eb529ffafbe92567e35a05b43bd309a2ac2b Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Tue, 23 Aug 2016 12:38:17 +0530 Subject: [PATCH 17/30] release v0.8.1 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 23 +++-------------------- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- package.json | 4 ++-- 6 files changed, 14 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e634189..59f4909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.8.1 - Tue, 23 Aug 2016 07:08:17 GMT +-------------------------------------- + +- [01adfa8](../../commit/01adfa8) [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body [fixed] use the latest handler passed in by the props [Added] reset props which excepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime + + v0.7.2 - Mon, 22 Aug 2016 13:33:27 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index aba7416..c2c126c 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -64,15 +64,9 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { 'default': obj }; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; - } + function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var _react = __webpack_require__(2); @@ -149,7 +143,7 @@ return /******/ (function(modules) { // webpackBootstrap }, shouldComponentUpdate: function shouldComponentUpdate(nextProps) { - if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) { + if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) { this.editor.setContent(nextProps.content); } return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)); @@ -175,13 +169,8 @@ return /******/ (function(modules) { // webpackBootstrap var _this = this; setTimeout(function () { - console.log("reseting"); var oldId = _this.id; _this.id = id; - // hide the textarea that is me so that no one sees it - /** if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = 'hidden'; - } **/ var setupCallback = config.setup; var hasSetupCallback = typeof setupCallback === 'function'; @@ -193,10 +182,7 @@ return /******/ (function(modules) { // webpackBootstrap if (typeof handler !== 'function') return; editor.on(event, function (e) { // native DOM events don't have access to the editor so we pass it here - //setTimeout(()=>{ handler(e, editor); - //},10); - //editor }); }); // need to set content here because the textarea will still have the @@ -214,9 +200,6 @@ return /******/ (function(modules) { // webpackBootstrap _this._remove(oldId); } tinymce.init(config); - /** if (document.getElementById(this.id)) { - document.getElementById(this.id).style.hidden = ''; - } **/ _this._isInit = true; }, 5); }, diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index 050c97f..076c819 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap fac0430d7241e0b76225","webpack:///./build/lib/main.js","webpack:///./build/lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./build/lib/helpers/uuid.js","webpack:///./build/lib/helpers/ucFirst.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA,aAAY,CAAC;;AAEb,OAAM,CAAC,OAAO,GAAG,mBAAO,CAAC,CAAsB,CAAC,C;;;;;;ACFhD,aAAY,CAAC;;AAEb,UAAS,sBAAsB,CAAC,GAAG,EAAE;AAAE,UAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;EAAE;;AAEjG,UAAS,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE;AAAE,OAAI,MAAM,GAAG,EAAE,CAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;AAAE,SAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAU,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAAG,OAAO,MAAM,CAAC;EAAE;;AAE5N,KAAI,MAAM,GAAG,mBAAO,CAAC,CAAO,CAAC,CAAC;;AAE9B,KAAI,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;;AAE7C,KAAI,kBAAkB,GAAG,mBAAO,CAAC,CAAqB,CAAC,CAAC;;AAExD,KAAI,mBAAmB,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;;AAErE,KAAI,gBAAgB,GAAG,mBAAO,CAAC,EAAmB,CAAC,CAAC;;AAEpD,KAAI,iBAAiB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;;AAEjE,KAAI,YAAY,GAAG,mBAAO,CAAC,EAAiB,CAAC,CAAC;;AAE9C,KAAI,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;;AAEzD,KAAI,eAAe,GAAG,mBAAO,CAAC,EAAoB,CAAC,CAAC;;AAEpD,KAAI,gBAAgB,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;;;;AAI/D,KAAI,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;;;;;AAK3yB,KAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AAC9C,UAAO,IAAI,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;EACvD,CAAC,CAAC;;AAEH,KAAI,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;AAC3C,cAAW,EAAE,SAAS;;AAEtB,YAAS,EAAE;AACT,WAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM;AAC3C,YAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM;AAC5C,OAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM;AACvC,cAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM;AAC9C,UAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM;IAC3C;;AAED,kBAAe,EAAE,SAAS,eAAe,GAAG;AAC1C,YAAO;AACL,aAAM,EAAE,EAAE;AACV,cAAO,EAAE,EAAE;MACZ,CAAC;IACH;;AAED,qBAAkB,EAAE,SAAS,kBAAkB,GAAG;AAChD,SAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC;IACvE;;AAED,oBAAiB,EAAE,SAAS,iBAAiB,GAAG;AAC9C,SAAI,MAAM,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClE,SAAI,OAAO,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAC1E,SAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC;AACD,eAAY,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;AACzC,SAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC5B,SAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;;AAE1B,SAAI,YAAY,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;;AAE1E,SAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,SAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,YAAO,YAAY,CAAC;IACrB;AACD,4BAAyB,EAAE,SAAS,yBAAyB,CAAC,SAAS,EAAE;AACvE,SAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACrG,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;MAC1E;IACF;;AAED,wBAAqB,EAAE,SAAS,qBAAqB,CAAC,SAAS,EAAE;AAC/D,SAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;AACxM,WAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;MAC3C;AACD,YAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1G;;AAED,uBAAoB,EAAE,SAAS,oBAAoB,GAAG;AACpD,SAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB;;AAED,SAAM,EAAE,SAAS,MAAM,GAAG;AACxB,YAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE;AACxE,SAAE,EAAE,IAAI,CAAC,EAAE;AACX,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;AAC/B,8BAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;MACxD,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE;AAChD,SAAE,EAAE,IAAI,CAAC,EAAE;AACX,gBAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;AAC/B,mBAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;MACjC,CAAC,CAAC;IACJ;;AAED,QAAK,EAAE,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;AACzC,SAAI,KAAK,GAAG,IAAI,CAAC;;AAEjB,eAAU,CAAC,YAAY;AACrB,cAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,WAAI,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;AACrB,YAAK,CAAC,EAAE,GAAG,EAAE,CAAC;;;;;;AAMd,WAAI,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;AACjC,WAAI,gBAAgB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAC3D,aAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;AACjC,aAAM,CAAC,KAAK,GAAG,UAAU,MAAM,EAAE;AAC/B,cAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,eAAM,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,KAAK,EAAE;AACrC,eAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,eAAI,OAAO,OAAO,KAAK,UAAU,EAAE,OAAO;AAC1C,iBAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;;;AAG5B,oBAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;;;YAGpB,CAAC,CAAC;UACJ,CAAC,CAAC;;;AAGH,aAAI,OAAO,EAAE;AACX,iBAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY;AAC5B,mBAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC;UACJ;AACD,aAAI,gBAAgB,EAAE;AACpB,wBAAa,CAAC,MAAM,CAAC,CAAC;UACvB;QACF,CAAC;AACF,WAAI,KAAK,CAAC,OAAO,EAAE;AACjB,cAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB;AACD,cAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;;;AAIrB,YAAK,CAAC,OAAO,GAAG,IAAI,CAAC;MACtB,EAAE,CAAC,CAAC,CAAC;IACP;;AAED,UAAO,EAAE,SAAS,OAAO,CAAC,EAAE,EAAE;AAC5B,YAAO,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAChE,SAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB;EACF,CAAC,CAAC;;;AAGH,cAAa,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACpC,UAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;EAC7D,CAAC,CAAC;;AAEH,OAAM,CAAC,OAAO,GAAG,OAAO,C;;;;;;ACpKxB,gD;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,aAAY,CAAC;;AAEb,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;ACLD,aAAY,CAAC;;AAEb,OAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;AAC3C,QAAK,EAAE,IAAI;EACZ,CAAC,CAAC;AACH,QAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;;AAE7B,UAAS,OAAO,CAAC,GAAG,EAAE;AACpB,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD;;AAED,OAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,C","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap fac0430d7241e0b76225\n **/","'use strict';\n\nmodule.exports = require('./components/TinyMCE');\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/main.js\n **/","'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodashLangIsEqual = require('lodash/lang/isEqual');\n\nvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\nvar _lodashLangClone = require('lodash/lang/clone');\n\nvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\nvar _helpersUuid = require('../helpers/uuid');\n\nvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\nvar _helpersUcFirst = require('../helpers/ucFirst');\n\nvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nvar HANDLER_NAMES = EVENTS.map(function (event) {\n return 'on' + (0, _helpersUcFirst2['default'])(event);\n});\n\nvar TinyMCE = _react2['default'].createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: _react2['default'].PropTypes.object,\n content: _react2['default'].PropTypes.string,\n id: _react2['default'].PropTypes.string,\n className: _react2['default'].PropTypes.string,\n reset: _react2['default'].PropTypes.number\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount: function componentWillMount() {\n this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n },\n\n componentDidMount: function componentDidMount() {\n var config = (0, _lodashLangClone2['default'])(this.props.config);\n var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n this._init(config, content, this.id);\n },\n _getPropData: function _getPropData(props) {\n var content = props.content;\n var config = props.config;\n\n var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n }\n },\n\n shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n },\n\n componentWillUnmount: function componentWillUnmount() {\n this._remove(this.id);\n },\n\n render: function render() {\n return this.props.config.inline ? _react2['default'].createElement('div', {\n id: this.id,\n className: this.props.className,\n dangerouslySetInnerHTML: { __html: this.props.content }\n }) : _react2['default'].createElement('textarea', {\n id: this.id,\n className: this.props.className,\n defaultValue: this.props.content\n });\n },\n\n _init: function _init(config, content, id) {\n var _this = this;\n\n setTimeout(function () {\n console.log(\"reseting\");\n var oldId = _this.id;\n _this.id = id;\n // hide the textarea that is me so that no one sees it\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n } **/\n\n var setupCallback = config.setup;\n var hasSetupCallback = typeof setupCallback === 'function';\n config.selector = '#' + _this.id;\n config.setup = function (editor) {\n _this.editor = editor;\n EVENTS.forEach(function (event, index) {\n var handler = _this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, function (e) {\n // native DOM events don't have access to the editor so we pass it here\n //setTimeout(()=>{\n handler(e, editor);\n //},10);\n //editor\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', function () {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (_this._isInit) {\n _this._remove(oldId);\n }\n tinymce.init(config);\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n } **/\n _this._isInit = true;\n }, 5);\n },\n\n _remove: function _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach(function (name) {\n TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nvar count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/uuid.js\n **/","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = ucFirst;\n\nfunction ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 325f635ae290025908e6","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 325f635ae290025908e6\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index af13473..b053e52 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";t.exports=r(1)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var r={};for(var n in t)e.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r}var c=r(2),i=n(c),u=r(3),a=n(u),s=r(28),f=n(s),p=r(43),l=n(p),b=r(44),d=n(b),v=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=v.map(function(t){return"on"+d["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string,reset:i["default"].PropTypes.number},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,r=t.config,n=o(t,["content","config"]);return this.content=e,this.config1=r,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return a["default"](this._getPropData(t),this._getPropData(this.props))&&this.props.content!=t.content&&void 0!==this._isInit&&this._isInit===!0&&this.editor.setContent(t.content),!a["default"](this._getPropData(t),this._getPropData(this.props))},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,r){var n=this;setTimeout(function(){console.log("reseting");var o=n.id;n.id=r;var c=t.setup,i="function"==typeof c;t.selector="#"+n.id,t.setup=function(t){n.editor=t,v.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),i&&c(t)},n._isInit&&n._remove(o),tinymce.init(t),n._isInit=!0},5)},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveEditor",!1,t),this._isInit=!1}});y.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(4),c=r(26);t.exports=n},function(t,e,r){function n(t,e,r,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,s)}var o=r(5),c=r(14),i=r(15);t.exports=n},function(t,e,r){function n(t,e,r,n,l,v,y){var j=u(t),h=u(e),g=f,x=f;j||(g=d.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(x=d.call(e),x==s?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var P=m&&b.call(t,"__wrapped__"),_=A&&b.call(e,"__wrapped__");if(P||_)return r(P?t.value():t,_?e.value():e,n,l,v,y)}if(!O)return!1;v||(v=[]),y||(y=[]);for(var w=v.length;w--;)if(v[w]==t)return y[w]==e;v.push(t),y.push(e);var C=(j?o:i)(t,e,r,n,l,v,y);return v.pop(),y.pop(),C}var o=r(6),c=r(8),i=r(9),u=r(22),a=r(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,b=l.hasOwnProperty,d=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,s=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,s="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n=0||Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r}var c=r(2),i=n(c),u=r(3),a=n(u),s=r(28),f=n(s),p=r(43),l=n(p),b=r(44),d=n(b),v=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=v.map(function(t){return"on"+d["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string,reset:i["default"].PropTypes.number},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,r=t.config,n=o(t,["content","config"]);return this.content=e,this.config1=r,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return a["default"](this._getPropData(t),this._getPropData(this.props))&&this.props.content!==t.content&&void 0!==this._isInit&&this._isInit===!0&&this.editor.setContent(t.content),!a["default"](this._getPropData(t),this._getPropData(this.props))},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,r){var n=this;setTimeout(function(){var o=n.id;n.id=r;var c=t.setup,i="function"==typeof c;t.selector="#"+n.id,t.setup=function(t){n.editor=t,v.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),i&&c(t)},n._isInit&&n._remove(o),tinymce.init(t),n._isInit=!0},5)},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveEditor",!1,t),this._isInit=!1}});y.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(4),c=r(26);t.exports=n},function(t,e,r){function n(t,e,r,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,s)}var o=r(5),c=r(14),i=r(15);t.exports=n},function(t,e,r){function n(t,e,r,n,l,v,y){var j=u(t),h=u(e),g=f,x=f;j||(g=d.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(x=d.call(e),x==s?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var P=m&&b.call(t,"__wrapped__"),_=A&&b.call(e,"__wrapped__");if(P||_)return r(P?t.value():t,_?e.value():e,n,l,v,y)}if(!O)return!1;v||(v=[]),y||(y=[]);for(var w=v.length;w--;)if(v[w]==t)return y[w]==e;v.push(t),y.push(e);var C=(j?o:i)(t,e,r,n,l,v,y);return v.pop(),y.pop(),C}var o=r(6),c=r(8),i=r(9),u=r(22),a=r(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,b=l.hasOwnProperty,d=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,s=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,s="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n\t }return target;\n\t}\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string,\n\t reset: _react2['default'].PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t var config = props.config;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\t\n\t this.content = content;\n\t this.config1 = config;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n\t this.editor.setContent(nextProps.content);\n\t }\n\t return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t setTimeout(function () {\n\t console.log(\"reseting\");\n\t var oldId = _this.id;\n\t _this.id = id;\n\t // hide the textarea that is me so that no one sees it\n\t /** if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = 'hidden';\n\t } **/\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t config.selector = '#' + _this.id;\n\t config.setup = function (editor) {\n\t _this.editor = editor;\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t //setTimeout(()=>{\n\t handler(e, editor);\n\t //},10);\n\t //editor\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t if (_this._isInit) {\n\t _this._remove(oldId);\n\t }\n\t tinymce.init(config);\n\t /** if (document.getElementById(this.id)) {\n\t document.getElementById(this.id).style.hidden = '';\n\t } **/\n\t _this._isInit = true;\n\t }, 5);\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 60db5be14dc92206040d\n **/","'use strict';\n\nmodule.exports = require('./components/TinyMCE');\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/main.js\n **/","'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodashLangIsEqual = require('lodash/lang/isEqual');\n\nvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\nvar _lodashLangClone = require('lodash/lang/clone');\n\nvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\nvar _helpersUuid = require('../helpers/uuid');\n\nvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\nvar _helpersUcFirst = require('../helpers/ucFirst');\n\nvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nvar HANDLER_NAMES = EVENTS.map(function (event) {\n return 'on' + (0, _helpersUcFirst2['default'])(event);\n});\n\nvar TinyMCE = _react2['default'].createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: _react2['default'].PropTypes.object,\n content: _react2['default'].PropTypes.string,\n id: _react2['default'].PropTypes.string,\n className: _react2['default'].PropTypes.string,\n reset: _react2['default'].PropTypes.number\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount: function componentWillMount() {\n this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n },\n\n componentDidMount: function componentDidMount() {\n var config = (0, _lodashLangClone2['default'])(this.props.config);\n var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n this._init(config, content, this.id);\n },\n _getPropData: function _getPropData(props) {\n var content = props.content;\n var config = props.config;\n\n var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n }\n },\n\n shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content != nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n },\n\n componentWillUnmount: function componentWillUnmount() {\n this._remove(this.id);\n },\n\n render: function render() {\n return this.props.config.inline ? _react2['default'].createElement('div', {\n id: this.id,\n className: this.props.className,\n dangerouslySetInnerHTML: { __html: this.props.content }\n }) : _react2['default'].createElement('textarea', {\n id: this.id,\n className: this.props.className,\n defaultValue: this.props.content\n });\n },\n\n _init: function _init(config, content, id) {\n var _this = this;\n\n setTimeout(function () {\n console.log(\"reseting\");\n var oldId = _this.id;\n _this.id = id;\n // hide the textarea that is me so that no one sees it\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = 'hidden';\n } **/\n\n var setupCallback = config.setup;\n var hasSetupCallback = typeof setupCallback === 'function';\n config.selector = '#' + _this.id;\n config.setup = function (editor) {\n _this.editor = editor;\n EVENTS.forEach(function (event, index) {\n var handler = _this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, function (e) {\n // native DOM events don't have access to the editor so we pass it here\n //setTimeout(()=>{\n handler(e, editor);\n //},10);\n //editor\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', function () {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (_this._isInit) {\n _this._remove(oldId);\n }\n tinymce.init(config);\n /** if (document.getElementById(this.id)) {\n document.getElementById(this.id).style.hidden = '';\n } **/\n _this._isInit = true;\n }, 5);\n },\n\n _remove: function _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach(function (name) {\n TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nvar count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/uuid.js\n **/","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = ucFirst;\n\nfunction ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/** WEBPACK FOOTER **\n ** ./build/lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap 635e1a4dff62294a8e3e","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_objectWithoutProperties","keys","target","i","indexOf","Object","prototype","hasOwnProperty","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","reset","number","getDefaultProps","componentWillMount","props","componentDidMount","_init","_getPropData","partialprops","config1","componentWillReceiveProps","nextProps","shouldComponentUpdate","undefined","_isInit","editor","setContent","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","defaultValue","_this","setTimeout","oldId","setupCallback","setup","hasSetupCallback","selector","forEach","index","handler","on","e","tinymce","init","EditorManager","execCommand","name","func","isEqual","value","other","customizer","thisArg","bindCallback","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string,\n\t reset: _react2['default'].PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t var config = props.config;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\t\n\t this.content = content;\n\t this.config1 = config;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n\t this.editor.setContent(nextProps.content);\n\t }\n\t return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t setTimeout(function () {\n\t var oldId = _this.id;\n\t _this.id = id;\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t config.selector = '#' + _this.id;\n\t config.setup = function (editor) {\n\t _this.editor = editor;\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t if (_this._isInit) {\n\t _this._remove(oldId);\n\t }\n\t tinymce.init(config);\n\t _this._isInit = true;\n\t }, 5);\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 635e1a4dff62294a8e3e\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 152946f..c874259 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-tinymce-editor", - "version": "0.7.2", + "version": "0.8.1", "description": "React TinyMCE Editor component", "main": "lib/main.js", "scripts": { @@ -35,4 +35,4 @@ "dependencies": { "lodash": "^3.9.3" } -} +} \ No newline at end of file From c930531cef019db5218237df9f03d5986473adef Mon Sep 17 00:00:00 2001 From: abhirathore2006 Date: Tue, 23 Aug 2016 12:49:33 +0530 Subject: [PATCH 18/30] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59f4909..1df3152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ v0.8.1 - Tue, 23 Aug 2016 07:08:17 GMT -------------------------------------- -- [01adfa8](../../commit/01adfa8) [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body [fixed] use the latest handler passed in by the props [Added] reset props which excepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime +- [01adfa8](../../commit/01adfa8) [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body [fixed] use the latest handler passed in by the props [Added] reset props which accepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime v0.7.2 - Mon, 22 Aug 2016 13:33:27 GMT From 08f390ef29e4183bcaae232f460c335d6922c6be Mon Sep 17 00:00:00 2001 From: abhirathore2006 Date: Tue, 23 Aug 2016 12:50:05 +0530 Subject: [PATCH 19/30] Update CHANGELOG.md --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1df3152..26e7817 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ v0.8.1 - Tue, 23 Aug 2016 07:08:17 GMT -------------------------------------- -- [01adfa8](../../commit/01adfa8) [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body [fixed] use the latest handler passed in by the props [Added] reset props which accepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime +- [01adfa8](../../commit/01adfa8) +- [fixed] tinymce.4.2.7.min.js Uncaught TypeError: Cannot read property body +- [fixed] use the latest handler passed in by the props +- [Added] reset props which accepts a number ( any number ) and reset editor if its different from previous prop, this is necessary evil to prevent editor from reseting everytime v0.7.2 - Mon, 22 Aug 2016 13:33:27 GMT From 9ff011a6e8964f867d8508f63b579f3ecd6b5190 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Rathore Date: Fri, 16 Sep 2016 18:00:27 +0530 Subject: [PATCH 20/30] release v0.8.2 --- CHANGELOG.md | 6 ++++++ dist/react-tinymce-editor.js | 2 +- dist/react-tinymce-editor.js.map | 2 +- dist/react-tinymce-editor.min.js | 2 +- dist/react-tinymce-editor.min.js.map | 2 +- lib/components/TinyMCE.js | 2 +- package.json | 2 +- 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59f4909..f1c209e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.8.2 - Fri, 16 Sep 2016 12:30:27 GMT +-------------------------------------- + +- + + v0.8.1 - Tue, 23 Aug 2016 07:08:17 GMT -------------------------------------- diff --git a/dist/react-tinymce-editor.js b/dist/react-tinymce-editor.js index c2c126c..9fde060 100644 --- a/dist/react-tinymce-editor.js +++ b/dist/react-tinymce-editor.js @@ -161,7 +161,7 @@ return /******/ (function(modules) { // webpackBootstrap }) : _react2['default'].createElement('textarea', { id: this.id, className: this.props.className, - defaultValue: this.props.content + value: this.props.content }); }, diff --git a/dist/react-tinymce-editor.js.map b/dist/react-tinymce-editor.js.map index 076c819..74c670c 100644 --- a/dist/react-tinymce-editor.js.map +++ b/dist/react-tinymce-editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 325f635ae290025908e6","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 325f635ae290025908e6\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 9ec91bf592ac9253be45","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":[],"mappings":"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ACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,mBAAmB;AACzB,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC/HA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3BA,KAAI,KAAK,GAAG,CAAC,CAAC;AACd,OAAM,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG;AAC/B,UAAO,gBAAgB,GAAG,KAAK,EAAE,CAAC;EACnC,C;;;;;;;;;;;sBCHuB,OAAO;;AAAhB,UAAS,OAAO,CAAC,GAAG,EAAE;AACnC,UAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 9ec91bf592ac9253be45\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-tinymce-editor.min.js b/dist/react-tinymce-editor.min.js index b053e52..bfe9daf 100644 --- a/dist/react-tinymce-editor.min.js +++ b/dist/react-tinymce-editor.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("React")):"function"==typeof define&&define.amd?define(["React"],e):"object"==typeof exports?exports.ReactTinymceEditor=e(require("React")):t.ReactTinymceEditor=e(t.React)}(this,function(t){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";t.exports=r(1)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var r={};for(var n in t)e.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r}var c=r(2),i=n(c),u=r(3),a=n(u),s=r(28),f=n(s),p=r(43),l=n(p),b=r(44),d=n(b),v=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=v.map(function(t){return"on"+d["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string,reset:i["default"].PropTypes.number},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,r=t.config,n=o(t,["content","config"]);return this.content=e,this.config1=r,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return a["default"](this._getPropData(t),this._getPropData(this.props))&&this.props.content!==t.content&&void 0!==this._isInit&&this._isInit===!0&&this.editor.setContent(t.content),!a["default"](this._getPropData(t),this._getPropData(this.props))},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,defaultValue:this.props.content})},_init:function(t,e,r){var n=this;setTimeout(function(){var o=n.id;n.id=r;var c=t.setup,i="function"==typeof c;t.selector="#"+n.id,t.setup=function(t){n.editor=t,v.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),i&&c(t)},n._isInit&&n._remove(o),tinymce.init(t),n._isInit=!0},5)},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveEditor",!1,t),this._isInit=!1}});y.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(4),c=r(26);t.exports=n},function(t,e,r){function n(t,e,r,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,s)}var o=r(5),c=r(14),i=r(15);t.exports=n},function(t,e,r){function n(t,e,r,n,l,v,y){var j=u(t),h=u(e),g=f,x=f;j||(g=d.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(x=d.call(e),x==s?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var P=m&&b.call(t,"__wrapped__"),_=A&&b.call(e,"__wrapped__");if(P||_)return r(P?t.value():t,_?e.value():e,n,l,v,y)}if(!O)return!1;v||(v=[]),y||(y=[]);for(var w=v.length;w--;)if(v[w]==t)return y[w]==e;v.push(t),y.push(e);var C=(j?o:i)(t,e,r,n,l,v,y);return v.pop(),y.pop(),C}var o=r(6),c=r(8),i=r(9),u=r(22),a=r(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,b=l.hasOwnProperty,d=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,s=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,s="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n=0||Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r}var c=r(2),i=n(c),u=r(3),a=n(u),s=r(28),f=n(s),p=r(43),l=n(p),b=r(44),d=n(b),v=["focusin","focusout","click","dblclick","mousedown","mouseup","mousemove","mouseover","beforepaste","paste","cut","copy","selectionchange","mouseout","mouseenter","mouseleave","keydown","keypress","keyup","contextmenu","dragend","dragover","draggesture","dragdrop","drop","drag","BeforeRenderUI","SetAttrib","PreInit","PostRender","init","deactivate","activate","NodeChange","BeforeExecCommand","ExecCommand","show","hide","ProgressState","LoadContent","SaveContent","BeforeSetContent","SetContent","BeforeGetContent","GetContent","VisualAid","remove","submit","reset","BeforeAddUndo","AddUndo","change","undo","redo","ClearUndos","ObjectSelected","ObjectResizeStart","ObjectResized","PreProcess","PostProcess","focus","blur","dirty"],y=v.map(function(t){return"on"+d["default"](t)}),j=i["default"].createClass({displayName:"TinyMCE",propTypes:{config:i["default"].PropTypes.object,content:i["default"].PropTypes.string,id:i["default"].PropTypes.string,className:i["default"].PropTypes.string,reset:i["default"].PropTypes.number},getDefaultProps:function(){return{config:{},content:""}},componentWillMount:function(){this.id=this.id||this.props.id||l["default"]()},componentDidMount:function(){var t=f["default"](this.props.config),e=f["default"](this.props.content||"");this._init(t,e,this.id)},_getPropData:function(t){var e=t.content,r=t.config,n=o(t,["content","config"]);return this.content=e,this.config1=r,n},componentWillReceiveProps:function(t){a["default"](this._getPropData(t),this._getPropData(this.props))||this._init(t.config,t.content,t.id||this.id)},shouldComponentUpdate:function(t){return a["default"](this._getPropData(t),this._getPropData(this.props))&&this.props.content!==t.content&&void 0!==this._isInit&&this._isInit===!0&&this.editor.setContent(t.content),!a["default"](this._getPropData(t),this._getPropData(this.props))},componentWillUnmount:function(){this._remove(this.id)},render:function(){return this.props.config.inline?i["default"].createElement("div",{id:this.id,className:this.props.className,dangerouslySetInnerHTML:{__html:this.props.content}}):i["default"].createElement("textarea",{id:this.id,className:this.props.className,value:this.props.content})},_init:function(t,e,r){var n=this;setTimeout(function(){var o=n.id;n.id=r;var c=t.setup,i="function"==typeof c;t.selector="#"+n.id,t.setup=function(t){n.editor=t,v.forEach(function(e,r){var o=n.props[y[r]];"function"==typeof o&&t.on(e,function(e){o(e,t)})}),e&&t.on("init",function(){t.setContent(e)}),i&&c(t)},n._isInit&&n._remove(o),tinymce.init(t),n._isInit=!0},5)},_remove:function(t){tinymce.EditorManager.execCommand("mceRemoveEditor",!1,t),this._isInit=!1}});y.forEach(function(t){j.propTypes[t]=i["default"].PropTypes.func}),t.exports=j},function(e,r){e.exports=t},function(t,e,r){function n(t,e,r,n){r="function"==typeof r?c(r,n,3):void 0;var i=r?r(t,e):void 0;return void 0===i?o(t,e,r):!!i}var o=r(4),c=r(26);t.exports=n},function(t,e,r){function n(t,e,r,u,a,s){return t===e?!0:null==t||null==e||!c(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,r,u,a,s)}var o=r(5),c=r(14),i=r(15);t.exports=n},function(t,e,r){function n(t,e,r,n,l,v,y){var j=u(t),h=u(e),g=f,x=f;j||(g=d.call(t),g==s?g=p:g!=p&&(j=a(t))),h||(x=d.call(e),x==s?x=p:x!=p&&(h=a(e)));var m=g==p,A=x==p,O=g==x;if(O&&!j&&!m)return c(t,e,g);if(!l){var P=m&&b.call(t,"__wrapped__"),_=A&&b.call(e,"__wrapped__");if(P||_)return r(P?t.value():t,_?e.value():e,n,l,v,y)}if(!O)return!1;v||(v=[]),y||(y=[]);for(var w=v.length;w--;)if(v[w]==t)return y[w]==e;v.push(t),y.push(e);var C=(j?o:i)(t,e,r,n,l,v,y);return v.pop(),y.pop(),C}var o=r(6),c=r(8),i=r(9),u=r(22),a=r(25),s="[object Arguments]",f="[object Array]",p="[object Object]",l=Object.prototype,b=l.hasOwnProperty,d=l.toString;t.exports=n},function(t,e,r){function n(t,e,r,n,c,i,u){var a=-1,s=t.length,f=e.length;if(s!=f&&!(c&&f>s))return!1;for(;++a-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){function n(t){for(var e=a(t),r=e.length,n=r&&t.length,s=!!n&&u(n)&&(c(t)||o(t)),p=-1,l=[];++p-1&&t%1==0&&e>t}var n=/^\d+$/,o=9007199254740991;t.exports=r},function(t,e,r){function n(t){if(null==t)return[];a(t)||(t=Object(t));var e=t.length;e=e&&u(e)&&(c(t)||o(t))&&e||0;for(var r=t.constructor,n=-1,s="function"==typeof r&&r.prototype===t,p=Array(e),l=e>0;++n= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string,\n\t reset: _react2['default'].PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t var config = props.config;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\t\n\t this.content = content;\n\t this.config1 = config;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n\t this.editor.setContent(nextProps.content);\n\t }\n\t return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t defaultValue: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t setTimeout(function () {\n\t var oldId = _this.id;\n\t _this.id = id;\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t config.selector = '#' + _this.id;\n\t config.setup = function (editor) {\n\t _this.editor = editor;\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t if (_this._isInit) {\n\t _this._remove(oldId);\n\t }\n\t tinymce.init(config);\n\t _this._isInit = true;\n\t }, 5);\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 635e1a4dff62294a8e3e\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///./dist/react-tinymce-editor.min.js","webpack:///webpack/bootstrap a82fbf9ec594b66cddae","webpack:///./lib/main.js","webpack:///./lib/components/TinyMCE.js","webpack:///external \"React\"","webpack:///./~/lodash/lang/isEqual.js","webpack:///./~/lodash/internal/baseIsEqual.js","webpack:///./~/lodash/internal/baseIsEqualDeep.js","webpack:///./~/lodash/internal/equalArrays.js","webpack:///./~/lodash/internal/arraySome.js","webpack:///./~/lodash/internal/equalByTag.js","webpack:///./~/lodash/internal/equalObjects.js","webpack:///./~/lodash/object/keys.js","webpack:///./~/lodash/internal/getNative.js","webpack:///./~/lodash/lang/isNative.js","webpack:///./~/lodash/lang/isFunction.js","webpack:///./~/lodash/lang/isObject.js","webpack:///./~/lodash/internal/isObjectLike.js","webpack:///./~/lodash/internal/isArrayLike.js","webpack:///./~/lodash/internal/getLength.js","webpack:///./~/lodash/internal/baseProperty.js","webpack:///./~/lodash/internal/isLength.js","webpack:///./~/lodash/internal/shimKeys.js","webpack:///./~/lodash/lang/isArguments.js","webpack:///./~/lodash/lang/isArray.js","webpack:///./~/lodash/internal/isIndex.js","webpack:///./~/lodash/object/keysIn.js","webpack:///./~/lodash/lang/isTypedArray.js","webpack:///./~/lodash/internal/bindCallback.js","webpack:///./~/lodash/utility/identity.js","webpack:///./~/lodash/lang/clone.js","webpack:///./~/lodash/internal/baseClone.js","webpack:///./~/lodash/internal/arrayCopy.js","webpack:///./~/lodash/internal/arrayEach.js","webpack:///./~/lodash/internal/baseAssign.js","webpack:///./~/lodash/internal/baseCopy.js","webpack:///./~/lodash/internal/baseForOwn.js","webpack:///./~/lodash/internal/baseFor.js","webpack:///./~/lodash/internal/createBaseFor.js","webpack:///./~/lodash/internal/toObject.js","webpack:///./~/lodash/internal/initCloneArray.js","webpack:///./~/lodash/internal/initCloneByTag.js","webpack:///./~/lodash/internal/bufferClone.js","webpack:///./~/lodash/internal/initCloneObject.js","webpack:///./~/lodash/internal/isIterateeCall.js","webpack:///./lib/helpers/uuid.js","webpack:///./lib/helpers/ucFirst.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_objectWithoutProperties","keys","target","i","indexOf","Object","prototype","hasOwnProperty","_react","_react2","_lodashLangIsEqual","_lodashLangIsEqual2","_lodashLangClone","_lodashLangClone2","_helpersUuid","_helpersUuid2","_helpersUcFirst","_helpersUcFirst2","EVENTS","HANDLER_NAMES","map","event","TinyMCE","createClass","displayName","propTypes","config","PropTypes","object","content","string","className","reset","number","getDefaultProps","componentWillMount","props","componentDidMount","_init","_getPropData","partialprops","config1","componentWillReceiveProps","nextProps","shouldComponentUpdate","undefined","_isInit","editor","setContent","componentWillUnmount","_remove","render","inline","createElement","dangerouslySetInnerHTML","__html","value","_this","setTimeout","oldId","setupCallback","setup","hasSetupCallback","selector","forEach","index","handler","on","e","tinymce","init","EditorManager","execCommand","name","func","isEqual","other","customizer","thisArg","bindCallback","result","baseIsEqual","isLoose","stackA","stackB","isObject","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","objToString","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","length","push","equalArrays","equalObjects","pop","objectProto","toString","array","arrLength","othLength","arrValue","othValue","arraySome","predicate","tag","boolTag","dateTag","errorTag","message","numberTag","regexpTag","stringTag","objProps","objLength","othProps","key","skipCtor","objValue","objCtor","constructor","othCtor","getNative","isArrayLike","shimKeys","nativeKeys","Ctor","isNative","isFunction","reIsNative","test","fnToString","reIsHostCtor","Function","RegExp","replace","funcTag","type","isLength","getLength","baseProperty","MAX_SAFE_INTEGER","keysIn","propsLength","allowIndexes","isArguments","isIndex","propertyIsEnumerable","nativeIsArray","Array","reIsUint","isProto","skipIndexes","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","argCount","identity","collection","accumulator","source","apply","arguments","clone","isDeep","isIterateeCall","baseClone","isArr","initCloneArray","arrayCopy","isFunc","cloneableTags","initCloneByTag","initCloneObject","baseAssign","arrayEach","baseForOwn","subValue","iteratee","baseCopy","baseFor","createBaseFor","fromRight","keysFunc","iterable","toObject","input","bufferClone","buffer","byteOffset","reFlags","exec","lastIndex","global","ArrayBuffer","byteLength","view","Uint8Array","set","count","ucFirst","str","toUpperCase","substring","defineProperty"],"mappings":"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","file":"/work/test/react-tinymce-editor/dist/react-tinymce-editor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactTinymceEditor\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactTinymceEditor\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(1);\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodashLangIsEqual = __webpack_require__(3);\n\t\n\tvar _lodashLangIsEqual2 = _interopRequireDefault(_lodashLangIsEqual);\n\t\n\tvar _lodashLangClone = __webpack_require__(28);\n\t\n\tvar _lodashLangClone2 = _interopRequireDefault(_lodashLangClone);\n\t\n\tvar _helpersUuid = __webpack_require__(43);\n\t\n\tvar _helpersUuid2 = _interopRequireDefault(_helpersUuid);\n\t\n\tvar _helpersUcFirst = __webpack_require__(44);\n\t\n\tvar _helpersUcFirst2 = _interopRequireDefault(_helpersUcFirst);\n\t\n\t// Include all of the Native DOM and custom events from:\n\t// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\n\tvar EVENTS = ['focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup', 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy', 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown', 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit', 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange', 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState', 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent', 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset', 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos', 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess', 'PostProcess', 'focus', 'blur', 'dirty'];\n\t\n\t// Note: because the capitalization of the events is weird, we're going to get\n\t// some inconsistently-named handlers, for example compare:\n\t// 'onMouseleave' and 'onNodeChange'\n\tvar HANDLER_NAMES = EVENTS.map(function (event) {\n\t return 'on' + (0, _helpersUcFirst2['default'])(event);\n\t});\n\t\n\tvar TinyMCE = _react2['default'].createClass({\n\t displayName: 'TinyMCE',\n\t\n\t propTypes: {\n\t config: _react2['default'].PropTypes.object,\n\t content: _react2['default'].PropTypes.string,\n\t id: _react2['default'].PropTypes.string,\n\t className: _react2['default'].PropTypes.string,\n\t reset: _react2['default'].PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t config: {},\n\t content: ''\n\t };\n\t },\n\t\n\t componentWillMount: function componentWillMount() {\n\t this.id = this.id || this.props.id || (0, _helpersUuid2['default'])();\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var config = (0, _lodashLangClone2['default'])(this.props.config);\n\t var content = (0, _lodashLangClone2['default'])(this.props.content || '');\n\t this._init(config, content, this.id);\n\t },\n\t _getPropData: function _getPropData(props) {\n\t var content = props.content;\n\t var config = props.config;\n\t\n\t var partialprops = _objectWithoutProperties(props, ['content', 'config']);\n\t\n\t this.content = content;\n\t this.config1 = config;\n\t return partialprops;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t if (!(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props))) {\n\t this._init(nextProps.config, nextProps.content, nextProps.id || this.id);\n\t }\n\t },\n\t\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps) {\n\t if ((0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props)) && this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n\t this.editor.setContent(nextProps.content);\n\t }\n\t return !(0, _lodashLangIsEqual2['default'])(this._getPropData(nextProps), this._getPropData(this.props));\n\t },\n\t\n\t componentWillUnmount: function componentWillUnmount() {\n\t this._remove(this.id);\n\t },\n\t\n\t render: function render() {\n\t return this.props.config.inline ? _react2['default'].createElement('div', {\n\t id: this.id,\n\t className: this.props.className,\n\t dangerouslySetInnerHTML: { __html: this.props.content }\n\t }) : _react2['default'].createElement('textarea', {\n\t id: this.id,\n\t className: this.props.className,\n\t value: this.props.content\n\t });\n\t },\n\t\n\t _init: function _init(config, content, id) {\n\t var _this = this;\n\t\n\t setTimeout(function () {\n\t var oldId = _this.id;\n\t _this.id = id;\n\t\n\t var setupCallback = config.setup;\n\t var hasSetupCallback = typeof setupCallback === 'function';\n\t config.selector = '#' + _this.id;\n\t config.setup = function (editor) {\n\t _this.editor = editor;\n\t EVENTS.forEach(function (event, index) {\n\t var handler = _this.props[HANDLER_NAMES[index]];\n\t if (typeof handler !== 'function') return;\n\t editor.on(event, function (e) {\n\t // native DOM events don't have access to the editor so we pass it here\n\t handler(e, editor);\n\t });\n\t });\n\t // need to set content here because the textarea will still have the\n\t // old `this.props.content`\n\t if (content) {\n\t editor.on('init', function () {\n\t editor.setContent(content);\n\t });\n\t }\n\t if (hasSetupCallback) {\n\t setupCallback(editor);\n\t }\n\t };\n\t if (_this._isInit) {\n\t _this._remove(oldId);\n\t }\n\t tinymce.init(config);\n\t _this._isInit = true;\n\t }, 5);\n\t },\n\t\n\t _remove: function _remove(id) {\n\t tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n\t this._isInit = false;\n\t }\n\t});\n\t\n\t// add handler propTypes\n\tHANDLER_NAMES.forEach(function (name) {\n\t TinyMCE.propTypes[name] = _react2['default'].PropTypes.func;\n\t});\n\t\n\tmodule.exports = TinyMCE;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(4),\n\t bindCallback = __webpack_require__(26);\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent. If `customizer` is provided it's invoked to compare values.\n\t * If `customizer` returns `undefined` comparisons are handled by the method\n\t * instead. The `customizer` is bound to `thisArg` and invoked with up to\n\t * three arguments: (value, other [, index|key]).\n\t *\n\t * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n\t * numbers, `Object` objects, regexes, and strings. Objects are compared by\n\t * their own, not inherited, enumerable properties. Functions and DOM nodes\n\t * are **not** supported. Provide a customizer function to extend support\n\t * for comparing other values.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias eq\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize value comparisons.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * object == other;\n\t * // => false\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * // using a customizer callback\n\t * var array = ['hello', 'goodbye'];\n\t * var other = ['hi', 'goodbye'];\n\t *\n\t * _.isEqual(array, other, function(value, other) {\n\t * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n\t * return true;\n\t * }\n\t * });\n\t * // => true\n\t */\n\tfunction isEqual(value, other, customizer, thisArg) {\n\t customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n\t var result = customizer ? customizer(value, other) : undefined;\n\t return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n\t}\n\t\n\tmodule.exports = isEqual;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(5),\n\t isObject = __webpack_require__(14),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` without support for `this` binding\n\t * `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar equalArrays = __webpack_require__(6),\n\t equalByTag = __webpack_require__(8),\n\t equalObjects = __webpack_require__(9),\n\t isArray = __webpack_require__(22),\n\t isTypedArray = __webpack_require__(25);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t objectTag = '[object Object]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing objects.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = objToString.call(object);\n\t if (objTag == argsTag) {\n\t objTag = objectTag;\n\t } else if (objTag != objectTag) {\n\t objIsArr = isTypedArray(object);\n\t }\n\t }\n\t if (!othIsArr) {\n\t othTag = objToString.call(other);\n\t if (othTag == argsTag) {\n\t othTag = objectTag;\n\t } else if (othTag != objectTag) {\n\t othIsArr = isTypedArray(other);\n\t }\n\t }\n\t var objIsObj = objTag == objectTag,\n\t othIsObj = othTag == objectTag,\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !(objIsArr || objIsObj)) {\n\t return equalByTag(object, other, objTag);\n\t }\n\t if (!isLoose) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t // For more information on detecting circular references see https://es5.github.io/#JO.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == object) {\n\t return stackB[length] == other;\n\t }\n\t }\n\t // Add `object` and `other` to the stack of traversed objects.\n\t stackA.push(object);\n\t stackB.push(other);\n\t\n\t var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\t\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arraySome = __webpack_require__(7);\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing arrays.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var index = -1,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index],\n\t result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\t\n\t if (result !== undefined) {\n\t if (result) {\n\t continue;\n\t }\n\t return false;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (isLoose) {\n\t if (!arraySome(other, function(othValue) {\n\t return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n\t })) {\n\t return false;\n\t }\n\t } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag) {\n\t switch (tag) {\n\t case boolTag:\n\t case dateTag:\n\t // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n\t return +object == +other;\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case numberTag:\n\t // Treat `NaN` vs. `NaN` as equal.\n\t return (object != +object)\n\t ? other != +other\n\t : object == +other;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings primitives and string\n\t // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n\t return object == (other + '');\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar keys = __webpack_require__(10);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparing values.\n\t * @param {boolean} [isLoose] Specify performing partial comparisons.\n\t * @param {Array} [stackA] Tracks traversed `value` objects.\n\t * @param {Array} [stackB] Tracks traversed `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n\t var objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isLoose) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t var skipCtor = isLoose;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key],\n\t result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n\t return false;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (!skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isArrayLike = __webpack_require__(16),\n\t isObject = __webpack_require__(14),\n\t shimKeys = __webpack_require__(20);\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = getNative(Object, 'keys');\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t var Ctor = object == null ? undefined : object.constructor;\n\t if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n\t (typeof object != 'function' && isArrayLike(object))) {\n\t return shimKeys(object);\n\t }\n\t return isObject(object) ? nativeKeys(object) : [];\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(12);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object == null ? undefined : object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(13),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used to detect host constructors (Safari > 5). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (value == null) {\n\t return false;\n\t }\n\t if (isFunction(value)) {\n\t return reIsNative.test(fnToString.call(value));\n\t }\n\t return isObjectLike(value) && reIsHostCtor.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in older versions of Chrome and Safari which return 'function' for regexes\n\t // and Safari 8 which returns 'object' for typed array constructors.\n\t return isObject(value) && objToString.call(value) == funcTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // Avoid a V8 JIT bug in Chrome 19-20.\n\t // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(17),\n\t isLength = __webpack_require__(19);\n\t\n\t/**\n\t * Checks if `value` is array-like.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value));\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(18);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n\t * that affects Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t keysIn = __webpack_require__(24);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which creates an array of the\n\t * own enumerable property names of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction shimKeys(object) {\n\t var props = keysIn(object),\n\t propsLength = props.length,\n\t length = propsLength && object.length;\n\t\n\t var allowIndexes = !!length && isLength(length) &&\n\t (isArray(object) || isArguments(object));\n\t\n\t var index = -1,\n\t result = [];\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Native method references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is classified as an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return isObjectLike(value) && isArrayLike(value) &&\n\t hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(11),\n\t isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar arrayTag = '[object Array]';\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/* Native method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsArray = getNative(Array, 'isArray');\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(function() { return arguments; }());\n\t * // => false\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^\\d+$/;\n\t\n\t/**\n\t * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n\t * of an array-like value.\n\t */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(21),\n\t isArray = __webpack_require__(22),\n\t isIndex = __webpack_require__(23),\n\t isLength = __webpack_require__(19),\n\t isObject = __webpack_require__(14);\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t if (!isObject(object)) {\n\t object = Object(object);\n\t }\n\t var length = object.length;\n\t length = (length && isLength(length) &&\n\t (isArray(object) || isArguments(object)) && length) || 0;\n\t\n\t var Ctor = object.constructor,\n\t index = -1,\n\t isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n\t result = Array(length),\n\t skipIndexes = length > 0;\n\t\n\t while (++index < length) {\n\t result[index] = (index + '');\n\t }\n\t for (var key in object) {\n\t if (!(skipIndexes && isIndex(key, length)) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isLength = __webpack_require__(19),\n\t isObjectLike = __webpack_require__(15);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dateTag] = typedArrayTags[errorTag] =\n\ttypedArrayTags[funcTag] = typedArrayTags[mapTag] =\n\ttypedArrayTags[numberTag] = typedArrayTags[objectTag] =\n\ttypedArrayTags[regexpTag] = typedArrayTags[setTag] =\n\ttypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tfunction isTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n\t}\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(27);\n\t\n\t/**\n\t * A specialized version of `baseCallback` which only supports `this` binding\n\t * and specifying the number of arguments to provide to `func`.\n\t *\n\t * @private\n\t * @param {Function} func The function to bind.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {number} [argCount] The number of arguments to provide to `func`.\n\t * @returns {Function} Returns the callback.\n\t */\n\tfunction bindCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t if (thisArg === undefined) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t case 5: return function(value, other, key, object, source) {\n\t return func.call(thisArg, value, other, key, object, source);\n\t };\n\t }\n\t return function() {\n\t return func.apply(thisArg, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = bindCallback;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utility\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(29),\n\t bindCallback = __webpack_require__(26),\n\t isIterateeCall = __webpack_require__(42);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n\t * otherwise they are assigned by reference. If `customizer` is provided it's\n\t * invoked to produce the cloned values. If `customizer` returns `undefined`\n\t * cloning is handled by the method instead. The `customizer` is bound to\n\t * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n\t *\n\t * **Note:** This method is loosely based on the\n\t * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n\t * The enumerable properties of `arguments` objects and objects created by\n\t * constructors other than `Object` are cloned to plain `Object` objects. An\n\t * empty object is returned for uncloneable values such as functions, DOM nodes,\n\t * Maps, Sets, and WeakMaps.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `customizer`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var users = [\n\t * { 'user': 'barney' },\n\t * { 'user': 'fred' }\n\t * ];\n\t *\n\t * var shallow = _.clone(users);\n\t * shallow[0] === users[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(users, true);\n\t * deep[0] === users[0];\n\t * // => false\n\t *\n\t * // using a customizer callback\n\t * var el = _.clone(document.body, function(value) {\n\t * if (_.isElement(value)) {\n\t * return value.cloneNode(false);\n\t * }\n\t * });\n\t *\n\t * el === document.body\n\t * // => false\n\t * el.nodeName\n\t * // => BODY\n\t * el.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, customizer, thisArg) {\n\t if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n\t isDeep = false;\n\t }\n\t else if (typeof isDeep == 'function') {\n\t thisArg = customizer;\n\t customizer = isDeep;\n\t isDeep = false;\n\t }\n\t return typeof customizer == 'function'\n\t ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n\t : baseClone(value, isDeep);\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayCopy = __webpack_require__(30),\n\t arrayEach = __webpack_require__(31),\n\t baseAssign = __webpack_require__(32),\n\t baseForOwn = __webpack_require__(34),\n\t initCloneArray = __webpack_require__(38),\n\t initCloneByTag = __webpack_require__(39),\n\t initCloneObject = __webpack_require__(41),\n\t isArray = __webpack_require__(22),\n\t isObject = __webpack_require__(14);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\n\tcloneableTags[dateTag] = cloneableTags[float32Tag] =\n\tcloneableTags[float64Tag] = cloneableTags[int8Tag] =\n\tcloneableTags[int16Tag] = cloneableTags[int32Tag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[stringTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[mapTag] = cloneableTags[setTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objToString = objectProto.toString;\n\t\n\t/**\n\t * The base implementation of `_.clone` without support for argument juggling\n\t * and `this` binding `customizer` functions.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @param {Function} [customizer] The function to customize cloning values.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The object `value` belongs to.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n\t var result;\n\t if (customizer) {\n\t result = object ? customizer(value, key, object) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return arrayCopy(value, result);\n\t }\n\t } else {\n\t var tag = objToString.call(value),\n\t isFunc = tag == funcTag;\n\t\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = initCloneObject(isFunc ? {} : value);\n\t if (!isDeep) {\n\t return baseAssign(result, value);\n\t }\n\t } else {\n\t return cloneableTags[tag]\n\t ? initCloneByTag(value, tag, isDeep)\n\t : (object ? value : {});\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stackA || (stackA = []);\n\t stackB || (stackB = []);\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t // Add the source value to the stack of traversed objects and associate it with its clone.\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // Recursively populate clone (susceptible to call stack limits).\n\t (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n\t result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayCopy(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayCopy;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCopy = __webpack_require__(33),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for argument juggling,\n\t * multiple sources, and `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return source == null\n\t ? object\n\t : baseCopy(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property names to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseCopy(source, props, object) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t object[key] = source[key];\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = baseCopy;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(35),\n\t keys = __webpack_require__(10);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for callback\n\t * shorthands and `this` binding.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(36);\n\t\n\t/**\n\t * The base implementation of `baseForIn` and `baseForOwn` which iterates\n\t * over `object` properties returned by `keysFunc` invoking `iteratee` for\n\t * each property. Iteratee functions may exit iteration early by explicitly\n\t * returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toObject = __webpack_require__(37);\n\t\n\t/**\n\t * Creates a base function for `_.forIn` or `_.forInRight`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function(object, iteratee, keysFunc) {\n\t var iterable = toObject(object),\n\t props = keysFunc(object),\n\t length = props.length,\n\t index = fromRight ? length : -1;\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var key = props[index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Converts `value` to an object if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {Object} Returns the object.\n\t */\n\tfunction toObject(value) {\n\t return isObject(value) ? value : Object(value);\n\t}\n\t\n\tmodule.exports = toObject;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t/** Used for native method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = new array.constructor(length);\n\t\n\t // Add array properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar bufferClone = __webpack_require__(40);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t stringTag = '[object String]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return bufferClone(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t var buffer = object.buffer;\n\t return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t var result = new Ctor(object.source, reFlags.exec(object));\n\t result.lastIndex = object.lastIndex;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Native method references. */\n\tvar ArrayBuffer = global.ArrayBuffer,\n\t Uint8Array = global.Uint8Array;\n\t\n\t/**\n\t * Creates a clone of the given array buffer.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} buffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction bufferClone(buffer) {\n\t var result = new ArrayBuffer(buffer.byteLength),\n\t view = new Uint8Array(result);\n\t\n\t view.set(new Uint8Array(buffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = bufferClone;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t var Ctor = object.constructor;\n\t if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n\t Ctor = Object;\n\t }\n\t return new Ctor;\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(16),\n\t isIndex = __webpack_require__(23),\n\t isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if the provided arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)) {\n\t var other = object[index];\n\t return value === value ? (value === other) : (other !== other);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar count = 0;\n\tmodule.exports = function uuid() {\n\t return 'react-tinymce-' + count++;\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports[\"default\"] = ucFirst;\n\t\n\tfunction ucFirst(str) {\n\t return str[0].toUpperCase() + str.substring(1);\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ./dist/react-tinymce-editor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a82fbf9ec594b66cddae\n **/","module.exports = require('./components/TinyMCE');\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/main.js\n **/","import React from 'react';\nimport isEqual from 'lodash/lang/isEqual';\nimport clone from 'lodash/lang/clone';\nimport uuid from '../helpers/uuid';\nimport ucFirst from '../helpers/ucFirst';\n\n// Include all of the Native DOM and custom events from:\n// https://github.com/tinymce/tinymce/blob/master/tools/docs/tinymce.Editor.js#L5-L12\nconst EVENTS = [\n 'focusin', 'focusout', 'click', 'dblclick', 'mousedown', 'mouseup',\n 'mousemove', 'mouseover', 'beforepaste', 'paste', 'cut', 'copy',\n 'selectionchange', 'mouseout', 'mouseenter', 'mouseleave', 'keydown',\n 'keypress', 'keyup', 'contextmenu', 'dragend', 'dragover', 'draggesture',\n 'dragdrop', 'drop', 'drag', 'BeforeRenderUI', 'SetAttrib', 'PreInit',\n 'PostRender', 'init', 'deactivate', 'activate', 'NodeChange',\n 'BeforeExecCommand', 'ExecCommand', 'show', 'hide', 'ProgressState',\n 'LoadContent', 'SaveContent', 'BeforeSetContent', 'SetContent',\n 'BeforeGetContent', 'GetContent', 'VisualAid', 'remove', 'submit', 'reset',\n 'BeforeAddUndo', 'AddUndo', 'change', 'undo', 'redo', 'ClearUndos',\n 'ObjectSelected', 'ObjectResizeStart', 'ObjectResized', 'PreProcess',\n 'PostProcess', 'focus', 'blur', 'dirty'\n];\n\n// Note: because the capitalization of the events is weird, we're going to get\n// some inconsistently-named handlers, for example compare:\n// 'onMouseleave' and 'onNodeChange'\nconst HANDLER_NAMES = EVENTS.map((event) => {\n return 'on' + ucFirst(event);\n});\n\nconst TinyMCE = React.createClass({\n displayName: 'TinyMCE',\n\n propTypes: {\n config: React.PropTypes.object,\n content: React.PropTypes.string,\n id: React.PropTypes.string,\n className: React.PropTypes.string,\n reset: React.PropTypes.number\n },\n\n getDefaultProps() {\n return {\n config: {},\n content: ''\n };\n },\n\n componentWillMount() {\n this.id = this.id || this.props.id || uuid();\n },\n\n componentDidMount() {\n const config = clone(this.props.config);\n const content = clone( this.props.content || '' );\n this._init(config, content, this.id);\n },\n _getPropData(props) {\n const {content, config, ...partialprops} = props;\n this.content = content;\n this.config1 = config;\n return partialprops;\n },\n componentWillReceiveProps(nextProps) {\n if (!isEqual(this._getPropData(nextProps), this._getPropData(this.props))) {\n this._init(nextProps.config, nextProps.content, ( nextProps.id || this.id ));\n }\n },\n\n shouldComponentUpdate(nextProps) {\n if (isEqual(this._getPropData(nextProps), this._getPropData(this.props) ) &&\n this.props.content !== nextProps.content && (this._isInit !== undefined && this._isInit === true)) {\n this.editor.setContent(nextProps.content);\n }\n return (\n !isEqual(this._getPropData(nextProps), this._getPropData(this.props))\n );\n },\n\n componentWillUnmount() {\n this._remove(this.id);\n },\n\n render() {\n return this.props.config.inline ? (\n \n ) : (\n \n );\n },\n\n _init(config, content, id) {\n setTimeout(()=>{\n const oldId = this.id;\n this.id = id;\n\n const setupCallback = config.setup;\n const hasSetupCallback = (typeof setupCallback === 'function');\n config.selector = '#' + this.id;\n config.setup = (editor) => {\n this.editor = editor;\n EVENTS.forEach((event, index) => {\n const handler = this.props[HANDLER_NAMES[index]];\n if (typeof handler !== 'function') return;\n editor.on(event, (e) => {\n // native DOM events don't have access to the editor so we pass it here\n handler(e, editor);\n });\n });\n // need to set content here because the textarea will still have the\n // old `this.props.content`\n if (content) {\n editor.on('init', () => {\n editor.setContent(content);\n });\n }\n if (hasSetupCallback) {\n setupCallback(editor);\n }\n };\n if (this._isInit) {\n this._remove(oldId);\n }\n tinymce.init(config);\n this._isInit = true;\n }, 5);\n },\n\n _remove(id) {\n tinymce.EditorManager.execCommand('mceRemoveEditor', false, id);\n this._isInit = false;\n }\n});\n\n// add handler propTypes\nHANDLER_NAMES.forEach((name) => {\n TinyMCE.propTypes[name] = React.PropTypes.func;\n});\n\nmodule.exports = TinyMCE;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/TinyMCE.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","var baseIsEqual = require('../internal/baseIsEqual'),\n bindCallback = require('../internal/bindCallback');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent. If `customizer` is provided it's invoked to compare values.\n * If `customizer` returns `undefined` comparisons are handled by the method\n * instead. The `customizer` is bound to `thisArg` and invoked with up to\n * three arguments: (value, other [, index|key]).\n *\n * **Note:** This method supports comparing arrays, booleans, `Date` objects,\n * numbers, `Object` objects, regexes, and strings. Objects are compared by\n * their own, not inherited, enumerable properties. Functions and DOM nodes\n * are **not** supported. Provide a customizer function to extend support\n * for comparing other values.\n *\n * @static\n * @memberOf _\n * @alias eq\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize value comparisons.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * object == other;\n * // => false\n *\n * _.isEqual(object, other);\n * // => true\n *\n * // using a customizer callback\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqual(array, other, function(value, other) {\n * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {\n * return true;\n * }\n * });\n * // => true\n */\nfunction isEqual(value, other, customizer, thisArg) {\n customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isEqual.js\n ** module id = 3\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./baseIsEqualDeep'),\n isObject = require('../lang/isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` without support for `this` binding\n * `customizer` functions.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqual.js\n ** module id = 4\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseIsEqualDeep.js\n ** module id = 5\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalArrays.js\n ** module id = 6\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arraySome.js\n ** module id = 7\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalByTag.js\n ** module id = 8\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/equalObjects.js\n ** module id = 9\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isArrayLike = require('../internal/isArrayLike'),\n isObject = require('../lang/isObject'),\n shimKeys = require('../internal/shimKeys');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = getNative(Object, 'keys');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n var Ctor = object == null ? undefined : object.constructor;\n if ((typeof Ctor == 'function' && Ctor.prototype === object) ||\n (typeof object != 'function' && isArrayLike(object))) {\n return shimKeys(object);\n }\n return isObject(object) ? nativeKeys(object) : [];\n};\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keys.js\n ** module id = 10\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 11\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 12\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isObject.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isObjectLike.js\n ** module id = 15\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value));\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isArrayLike.js\n ** module id = 16\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isLength.js\n ** module id = 19\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/shimKeys.js\n ** module id = 20\n ** module chunks = 0\n **/","var isArrayLike = require('../internal/isArrayLike'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Native method references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is classified as an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return isObjectLike(value) && isArrayLike(value) &&\n hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArguments.js\n ** module id = 21\n ** module chunks = 0\n **/","var getNative = require('../internal/getNative'),\n isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isArray.js\n ** module id = 22\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 23\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 24\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isTypedArray.js\n ** module id = 25\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 26\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 27\n ** module chunks = 0\n **/","var baseClone = require('../internal/baseClone'),\n bindCallback = require('../internal/bindCallback'),\n isIterateeCall = require('../internal/isIterateeCall');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,\n * otherwise they are assigned by reference. If `customizer` is provided it's\n * invoked to produce the cloned values. If `customizer` returns `undefined`\n * cloning is handled by the method instead. The `customizer` is bound to\n * `thisArg` and invoked with up to three argument; (value [, index|key, object]).\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).\n * The enumerable properties of `arguments` objects and objects created by\n * constructors other than `Object` are cloned to plain `Object` objects. An\n * empty object is returned for uncloneable values such as functions, DOM nodes,\n * Maps, Sets, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `customizer`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * var shallow = _.clone(users);\n * shallow[0] === users[0];\n * // => true\n *\n * var deep = _.clone(users, true);\n * deep[0] === users[0];\n * // => false\n *\n * // using a customizer callback\n * var el = _.clone(document.body, function(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * });\n *\n * el === document.body\n * // => false\n * el.nodeName\n * // => BODY\n * el.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, customizer, thisArg) {\n if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {\n isDeep = false;\n }\n else if (typeof isDeep == 'function') {\n thisArg = customizer;\n customizer = isDeep;\n isDeep = false;\n }\n return typeof customizer == 'function'\n ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 3))\n : baseClone(value, isDeep);\n}\n\nmodule.exports = clone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/clone.js\n ** module id = 28\n ** module chunks = 0\n **/","var arrayCopy = require('./arrayCopy'),\n arrayEach = require('./arrayEach'),\n baseAssign = require('./baseAssign'),\n baseForOwn = require('./baseForOwn'),\n initCloneArray = require('./initCloneArray'),\n initCloneByTag = require('./initCloneByTag'),\n initCloneObject = require('./initCloneObject'),\n isArray = require('../lang/isArray'),\n isObject = require('../lang/isObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[boolTag] =\ncloneableTags[dateTag] = cloneableTags[float32Tag] =\ncloneableTags[float64Tag] = cloneableTags[int8Tag] =\ncloneableTags[int16Tag] = cloneableTags[int32Tag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[stringTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[mapTag] = cloneableTags[setTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.clone` without support for argument juggling\n * and `this` binding `customizer` functions.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {Function} [customizer] The function to customize cloning values.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The object `value` belongs to.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, customizer, key, object, stackA, stackB) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return arrayCopy(value, result);\n }\n } else {\n var tag = objToString.call(value),\n isFunc = tag == funcTag;\n\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return baseAssign(result, value);\n }\n } else {\n return cloneableTags[tag]\n ? initCloneByTag(value, tag, isDeep)\n : (object ? value : {});\n }\n }\n // Check for circular references and return its corresponding clone.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n // Add the source value to the stack of traversed objects and associate it with its clone.\n stackA.push(value);\n stackB.push(result);\n\n // Recursively populate clone (susceptible to call stack limits).\n (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {\n result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseClone.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction arrayCopy(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = arrayCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayCopy.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayEach.js\n ** module id = 31\n ** module chunks = 0\n **/","var baseCopy = require('./baseCopy'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.assign` without support for argument juggling,\n * multiple sources, and `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return source == null\n ? object\n : baseCopy(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseAssign.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property names to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @returns {Object} Returns `object`.\n */\nfunction baseCopy(source, props, object) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n object[key] = source[key];\n }\n return object;\n}\n\nmodule.exports = baseCopy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseCopy.js\n ** module id = 33\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForOwn.js\n ** module id = 34\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 35\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 36\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Converts `value` to an object if it's not one.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {Object} Returns the object.\n */\nfunction toObject(value) {\n return isObject(value) ? value : Object(value);\n}\n\nmodule.exports = toObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/toObject.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add array properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneArray.js\n ** module id = 38\n ** module chunks = 0\n **/","var bufferClone = require('./bufferClone');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return bufferClone(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n var buffer = object.buffer;\n return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n var result = new Ctor(object.source, reFlags.exec(object));\n result.lastIndex = object.lastIndex;\n }\n return result;\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneByTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Native method references. */\nvar ArrayBuffer = global.ArrayBuffer,\n Uint8Array = global.Uint8Array;\n\n/**\n * Creates a clone of the given array buffer.\n *\n * @private\n * @param {ArrayBuffer} buffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction bufferClone(buffer) {\n var result = new ArrayBuffer(buffer.byteLength),\n view = new Uint8Array(result);\n\n view.set(new Uint8Array(buffer));\n return result;\n}\n\nmodule.exports = bufferClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bufferClone.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n var Ctor = object.constructor;\n if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {\n Ctor = Object;\n }\n return new Ctor;\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/initCloneObject.js\n ** module id = 41\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isIndex = require('./isIndex'),\n isObject = require('../lang/isObject');\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)) {\n var other = object[index];\n return value === value ? (value === other) : (other !== other);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIterateeCall.js\n ** module id = 42\n ** module chunks = 0\n **/","let count = 0;\nmodule.exports = function uuid() {\n return 'react-tinymce-' + count++;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/uuid.js\n **/","export default function ucFirst(str) {\n return str[0].toUpperCase() + str.substring(1);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/helpers/ucFirst.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/components/TinyMCE.js b/lib/components/TinyMCE.js index 8de85b0..d0f9443 100644 --- a/lib/components/TinyMCE.js +++ b/lib/components/TinyMCE.js @@ -92,7 +92,7 @@ const TinyMCE = React.createClass({