diff --git a/.babelrc b/.babelrc index 6430a77..67d71ed 100644 --- a/.babelrc +++ b/.babelrc @@ -1,13 +1,3 @@ { - "presets": ["es2015", "react"], - "env": { - "development": { - "presets": ["es2015", "react"], - "plugins": [ - ["transform-es2015-modules-commonjs-simple", { - "noMangle": true - }] - ] - } - } -} + "presets": ["env", "react"] +} \ No newline at end of file diff --git a/.circleci/config.yml b/.circleci/config.yml index 32dd2bd..0d768e8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -43,8 +43,8 @@ jobs: - "node_modules" - run: - name: Npm test - command: npm test + name: Npm lint + command: npm run lint - run: name: Run tests diff --git a/.eslintrc.json b/.eslintrc.json index ecb6edc..e706610 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,128 @@ { - "extends": "./config/eslint/eslintrc-node.json" -} + "extends": ["eslint:recommended", "prettier"], + "parser": "babel-eslint", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "ecmaFeatures": { + "arrowFunctions": true, + "blockBindings": true, + "classes": true, + "defaultParams": true, + "destructuring": true, + "forOf": true, + "generators": true, + "modules": true, + "templateStrings": true, + "jsx": true + } + }, + "env": { + "browser": true, + "es6": true, + "jasmine": true, + "jest": true, + "node": true + }, + "globals": { + "jest": true + }, + "plugins": [ + "react", + "import" + ], + "rules": { + "accessor-pairs": ["error"], + "block-scoped-var": ["error"], + "consistent-return": ["error"], + "curly": ["error", "all"], + "default-case": ["error"], + "dot-location": ["off"], + "dot-notation": ["error"], + "eqeqeq": ["error"], + "guard-for-in": ["off"], + "import/export": "error", + "import/named": ["off"], + "import/namespace": ["off"], + "import/no-duplicates": ["error"], + "import/no-named-as-default": ["error"], + "import/no-unresolved": ["off"], + "new-cap": ["error", { + "capIsNewExceptions": ["Radium"], + "capIsNewExceptionPattern": "Immutable\\.*" + }], + "no-alert": ["off"], + "no-caller": ["error"], + "no-case-declarations": ["error"], + "no-console": ["error"], + "no-div-regex": ["error"], + "no-dupe-keys": ["error"], + "no-else-return": ["error"], + "no-empty-pattern": ["error"], + "no-eq-null": ["error"], + "no-eval": ["error"], + "no-extend-native": ["error"], + "no-extra-bind": ["error"], + "no-extra-boolean-cast": ["error"], + "no-inline-comments": ["error"], + "no-implicit-coercion": ["error"], + "no-implied-eval": ["error"], + "no-inner-declarations": ["off"], + "no-invalid-this": ["error"], + "no-iterator": ["error"], + "no-labels": ["error"], + "no-lone-blocks": ["error"], + "no-loop-func": ["error"], + "no-multi-str": ["error"], + "no-native-reassign": ["error"], + "no-new": ["error"], + "no-new-func": ["error"], + "no-new-wrappers": ["error"], + "no-param-reassign": ["error"], + "no-process-env": ["warn"], + "no-proto": ["error"], + "no-redeclare": ["error"], + "no-return-assign": ["error"], + "no-script-url": ["error"], + "no-self-compare": ["error"], + "no-sequences": ["error"], + "no-shadow": ["off"], + "no-throw-literal": ["error"], + "no-undefined": ["error"], + "no-unused-expressions": ["error"], + "no-use-before-define": ["error", "nofunc"], + "no-useless-call": ["error"], + "no-useless-concat": ["error"], + "no-with": ["error"], + "prefer-const": ["error"], + "radix": ["error"], + "react/jsx-no-duplicate-props": ["error"], + "react/jsx-no-undef": ["error"], + "react/jsx-uses-react": ["error"], + "react/jsx-uses-vars": ["error"], + "react/no-did-update-set-state": ["error"], + "react/no-direct-mutation-state": ["error"], + "react/no-is-mounted": ["error"], + "react/no-unknown-property": ["error"], + "react/prefer-es6-class": ["error", "always"], + "react/prop-types": "error", + "valid-jsdoc": ["error"], + "yoda": ["error"], + "spaced-comment": ["error", "always", { + "block": { + "exceptions": ["*"] + } + }], + "no-unused-vars": ["error", { + "args": "after-used", + "argsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^e$" + }], + "no-magic-numbers": ["error", { + "ignoreArrayIndexes": true, + "ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25] + }], + "no-underscore-dangle": ["off"], + "no-useless-escape": ["off"] + } + } \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..dcd9342 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "tabWidth": 4, + "singleQuote": true, + "bracketSpacing": false, + "trailingComma": "es5" +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c8d8f59 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "${workspaceFolder}/venv/bin/python" +} \ No newline at end of file diff --git a/config/eslint/eslintrc-node.json b/config/eslint/eslintrc-node.json deleted file mode 100644 index c162786..0000000 --- a/config/eslint/eslintrc-node.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "env": { - "node": true - }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings", - "plugin:react/recommended" - ], - "plugins": [ - "import", "react" - ], - "parserOptions": { - "ecmaVersion": "2015", - "sourceType": "module", - "ecmaFeatures": { - "jsx": true - } - }, - "rules": { - "import/no-commonjs": 0, - "import/no-nodejs-modules": 0 - } -} diff --git a/config/partials/babel.js b/config/partials/babel.js deleted file mode 100644 index 8ad71ad..0000000 --- a/config/partials/babel.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var path = require('path'); -var partial = require('webpack-partial').default; - -var ROOT = process.cwd(); -var SRC = path.join(ROOT, 'src'); - -module.exports = function (config) { - return partial(config, { - module: { - noParse: /node_modules\/json-schema\/lib\/validate\.js/, // used to get `request` to work: https://github.com/request/request/issues/1920#issuecomment-171246043 - loaders: [ - { test: /\.json$/, loader: 'json-loader' }, - { - test: /\.js/, - include: [SRC], - /* - * Use require.resolve to get a deterministic path - * and avoid webpack's magick loader resolution - */ - loader: require.resolve('babel-loader') - } - ] - } - }); -}; diff --git a/config/partials/babelHot.js b/config/partials/babelHot.js deleted file mode 100644 index e1f3027..0000000 --- a/config/partials/babelHot.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var path = require('path'); -var partial = require('webpack-partial').default; - -var ROOT = process.cwd(); -var SRC = path.join(ROOT, 'src'); - -module.exports = function (config) { - return partial(config, { - module: { - noParse: /node_modules\/json-schema\/lib\/validate\.js/, // used to get `request` to work: https://github.com/request/request/issues/1920#issuecomment-171246043 - loaders: [ - { test: /\.json$/, loader: 'json-loader' }, - { - test: /\.js/, - include: [SRC], - /* - * Use require.resolve to get a deterministic path - * and avoid webpack's magick loader resolution - */ - loaders: [ - require.resolve('react-hot-loader'), - require.resolve('babel-loader') - ] - } - ] - } - }); -}; diff --git a/config/partials/defineEnv.js b/config/partials/defineEnv.js deleted file mode 100644 index 89fe264..0000000 --- a/config/partials/defineEnv.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; -var DefinePlugin = require('webpack').DefinePlugin; - -var NODE_ENV = process.env.NODE_ENV || 'development'; -var environment = JSON.stringify(NODE_ENV); - -/* eslint-disable no-console */ -console.log('Current environment: ' + environment); -/* eslint-enable no-console */ - -module.exports = function (config) { - return partial(config, { - plugins: [ - new DefinePlugin({ - 'process.env': { - NODE_ENV: environment - } - }) - ] - }); -}; diff --git a/config/partials/entryDev.js b/config/partials/entryDev.js deleted file mode 100644 index 23efe85..0000000 --- a/config/partials/entryDev.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; - -module.exports = function (config) { - return partial(config, { - entry: {bundle: [ - 'babel-polyfill', - 'whatwg-fetch', - './index.js' - ]} - }); -}; diff --git a/config/partials/entryHot.js b/config/partials/entryHot.js deleted file mode 100644 index a405568..0000000 --- a/config/partials/entryHot.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; - -module.exports = function (config) { - return partial(config, { - entry: { - bundle: [ - 'webpack-dev-server/client?http://localhost:8080', - 'webpack/hot/only-dev-server', - './index.js' - - ] - } - }); -}; diff --git a/config/partials/entryProd.js b/config/partials/entryProd.js deleted file mode 100644 index 23efe85..0000000 --- a/config/partials/entryProd.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; - -module.exports = function (config) { - return partial(config, { - entry: {bundle: [ - 'babel-polyfill', - 'whatwg-fetch', - './index.js' - ]} - }); -}; diff --git a/config/partials/optimizeProd.js b/config/partials/optimizeProd.js deleted file mode 100644 index 861135b..0000000 --- a/config/partials/optimizeProd.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; -var UglifyJsPlugin = require('webpack').optimize.UglifyJsPlugin; -var DedupePlugin = require('webpack').optimize.DedupePlugin; -var OccurrenceOrderPlugin = require('webpack').optimize.OccurrenceOrderPlugin; - -module.exports = function (config) { - return partial(config, { - plugins: [ - new DedupePlugin(), - new OccurrenceOrderPlugin(true), - new UglifyJsPlugin({ - compress: { - warnings: false - } - }) - ] - }); -}; diff --git a/config/partials/outputDev.js b/config/partials/outputDev.js deleted file mode 100644 index eb5f3c2..0000000 --- a/config/partials/outputDev.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var path = require('path'); -var partial = require('webpack-partial').default; - -var ROOT = process.cwd(); -var BUILD = path.join(ROOT, 'dash_renderer'); - -module.exports = function (config) { - return partial(config, { - output: { - path: BUILD, - publicPath: '/dash_renderer/', - filename: '[name].js' - } - }); -}; diff --git a/config/partials/outputProd.js b/config/partials/outputProd.js deleted file mode 100644 index a23fa02..0000000 --- a/config/partials/outputProd.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var path = require('path'); -var partial = require('webpack-partial').default; - -var ROOT = process.cwd(); -var BUILD = path.join(ROOT, 'dash_renderer'); - -module.exports = function (config) { - return partial(config, { - output: { - path: BUILD, - publicPath: '/dash_renderer/', - library: 'dash_renderer', - // TODO: Bundle filename should be hashed (#10) - filename: '[name].js' - } - }); -}; diff --git a/config/partials/sourceMapDev.js b/config/partials/sourceMapDev.js deleted file mode 100644 index edc3dfd..0000000 --- a/config/partials/sourceMapDev.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var partial = require('webpack-partial').default; -var SourceMapDevToolPlugin = require('webpack').SourceMapDevToolPlugin; - -module.exports = function (config) { - return partial(config, { - plugins: [ - new SourceMapDevToolPlugin({ - append: '\n//# sourceMappingURL=http://127.0.0.1:8080/build/[url]', - filename: '[file].map', - test: /\.(css|js)($|\?)/ - }) - ] - }); -}; diff --git a/config/webpack.config.dev.js b/config/webpack.config.dev.js deleted file mode 100644 index 16ad2f6..0000000 --- a/config/webpack.config.dev.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var compose = require('ramda').compose; - -var babel = require('./partials/babel'); -var defineEnv = require('./partials/defineEnv'); -var entryDev = require('./partials/entryDev') -var outputDev = require('./partials/outputDev'); -var sourceMapDev = require('./partials/sourceMapDev'); -var baseConfig = require('./webpack.config'); - -module.exports = compose( - babel, - defineEnv, - entryDev, - outputDev, - sourceMapDev -)(baseConfig); diff --git a/config/webpack.config.hot.js b/config/webpack.config.hot.js deleted file mode 100644 index d3c332d..0000000 --- a/config/webpack.config.hot.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var compose = require('ramda').compose; - -var babelHot = require('./partials/babelHot'); -var defineEnv = require('./partials/defineEnv'); -var entryHot = require('./partials/entryHot'); -var outputDev = require('./partials/outputDev'); -var sourceMapDev = require('./partials/sourceMapDev'); -var baseConfig = require('./webpack.config'); - -module.exports = compose( - babelHot, - defineEnv, - entryHot, - outputDev, - sourceMapDev -)(baseConfig); diff --git a/config/webpack.config.js b/config/webpack.config.js deleted file mode 100644 index 7211328..0000000 --- a/config/webpack.config.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var path = require('path'); - -var ROOT = process.cwd(); -var SRC = path.join(ROOT, 'src'); - -module.exports = { - cache: false, - // Resolution path for `entry`. - context: SRC, - resolve: { - // Need `''` so referencing modules by `name.js` works. - extensions: ['', '.js', '.jsx', '.json'] - }, - externals: { - 'react': 'React', - 'react-dom': 'ReactDOM' - } -}; diff --git a/config/webpack.config.prod.js b/config/webpack.config.prod.js deleted file mode 100644 index f138b7d..0000000 --- a/config/webpack.config.prod.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var compose = require('ramda').compose; - -var babel = require('./partials/babel'); -var defineEnv = require('./partials/defineEnv'); -var entryProd = require('./partials/entryProd'); -var optimizeProd = require('./partials/optimizeProd'); -var outputProd = require('./partials/outputProd'); -var baseConfig = require('./webpack.config'); - -// TODO: support locally served source maps in production (#11) -module.exports = compose( - babel, - defineEnv, - entryProd, - outputProd, - optimizeProd -)(baseConfig); diff --git a/dash_renderer/dash_renderer.dev.js b/dash_renderer/dash_renderer.dev.js index b8b32a0..1dd0882 100644 --- a/dash_renderer/dash_renderer.dev.js +++ b/dash_renderer/dash_renderer.dev.js @@ -94,7 +94,7 @@ window["dash_renderer"] = /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (true) __webpack_require__(/*! !webpack amd define */ \"./node_modules/webpack/buildin/amd-define.js\")(name, definition)\n else {}\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)os/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2Jvd3Nlci9zcmMvYm93c2VyLmpzP2E2ZTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxJQUF5QyxFQUFFLDhGQUFNO0FBQzVELE9BQU8sRUFBeUI7QUFDaEMsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG1CQUFtQix3QkFBd0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCLGNBQWMsU0FBUztBQUN2QixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxnQkFBZ0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRCxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xEO0FBQ0EsY0FBYyxjQUFjO0FBQzVCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsT0FBTztBQUNyQixjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLFFBQVE7QUFDdEIsY0FBYyxPQUFPO0FBQ3JCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYm93c2VyL3NyYy9ib3dzZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEJvd3NlciAtIGEgYnJvd3NlciBkZXRlY3RvclxuICogaHR0cHM6Ly9naXRodWIuY29tL2RlZC9ib3dzZXJcbiAqIE1JVCBMaWNlbnNlIHwgKGMpIER1c3RpbiBEaWF6IDIwMTVcbiAqL1xuXG4hZnVuY3Rpb24gKHJvb3QsIG5hbWUsIGRlZmluaXRpb24pIHtcbiAgaWYgKHR5cGVvZiBtb2R1bGUgIT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIG1vZHVsZS5leHBvcnRzID0gZGVmaW5pdGlvbigpXG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSBkZWZpbmUobmFtZSwgZGVmaW5pdGlvbilcbiAgZWxzZSByb290W25hbWVdID0gZGVmaW5pdGlvbigpXG59KHRoaXMsICdib3dzZXInLCBmdW5jdGlvbiAoKSB7XG4gIC8qKlxuICAgICogU2VlIHVzZXJhZ2VudHMuanMgZm9yIGV4YW1wbGVzIG9mIG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICAqL1xuXG4gIHZhciB0ID0gdHJ1ZVxuXG4gIGZ1bmN0aW9uIGRldGVjdCh1YSkge1xuXG4gICAgZnVuY3Rpb24gZ2V0Rmlyc3RNYXRjaChyZWdleCkge1xuICAgICAgdmFyIG1hdGNoID0gdWEubWF0Y2gocmVnZXgpO1xuICAgICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoWzFdKSB8fCAnJztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTZWNvbmRNYXRjaChyZWdleCkge1xuICAgICAgdmFyIG1hdGNoID0gdWEubWF0Y2gocmVnZXgpO1xuICAgICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoWzJdKSB8fCAnJztcbiAgICB9XG5cbiAgICB2YXIgaW9zZGV2aWNlID0gZ2V0Rmlyc3RNYXRjaCgvKGlwb2R8aXBob25lfGlwYWQpL2kpLnRvTG93ZXJDYXNlKClcbiAgICAgICwgbGlrZUFuZHJvaWQgPSAvbGlrZSBhbmRyb2lkL2kudGVzdCh1YSlcbiAgICAgICwgYW5kcm9pZCA9ICFsaWtlQW5kcm9pZCAmJiAvYW5kcm9pZC9pLnRlc3QodWEpXG4gICAgICAsIG5leHVzTW9iaWxlID0gL25leHVzXFxzKlswLTZdXFxzKi9pLnRlc3QodWEpXG4gICAgICAsIG5leHVzVGFibGV0ID0gIW5leHVzTW9iaWxlICYmIC9uZXh1c1xccypbMC05XSsvaS50ZXN0KHVhKVxuICAgICAgLCBjaHJvbWVvcyA9IC9Dck9TLy50ZXN0KHVhKVxuICAgICAgLCBzaWxrID0gL3NpbGsvaS50ZXN0KHVhKVxuICAgICAgLCBzYWlsZmlzaCA9IC9zYWlsZmlzaC9pLnRlc3QodWEpXG4gICAgICAsIHRpemVuID0gL3RpemVuL2kudGVzdCh1YSlcbiAgICAgICwgd2Vib3MgPSAvKHdlYnxocHcpb3MvaS50ZXN0KHVhKVxuICAgICAgLCB3aW5kb3dzcGhvbmUgPSAvd2luZG93cyBwaG9uZS9pLnRlc3QodWEpXG4gICAgICAsIHNhbXN1bmdCcm93c2VyID0gL1NhbXN1bmdCcm93c2VyL2kudGVzdCh1YSlcbiAgICAgICwgd2luZG93cyA9ICF3aW5kb3dzcGhvbmUgJiYgL3dpbmRvd3MvaS50ZXN0KHVhKVxuICAgICAgLCBtYWMgPSAhaW9zZGV2aWNlICYmICFzaWxrICYmIC9tYWNpbnRvc2gvaS50ZXN0KHVhKVxuICAgICAgLCBsaW51eCA9ICFhbmRyb2lkICYmICFzYWlsZmlzaCAmJiAhdGl6ZW4gJiYgIXdlYm9zICYmIC9saW51eC9pLnRlc3QodWEpXG4gICAgICAsIGVkZ2VWZXJzaW9uID0gZ2V0U2Vjb25kTWF0Y2goL2VkZyhbZWFdfGlvcylcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICAsIHZlcnNpb25JZGVudGlmaWVyID0gZ2V0Rmlyc3RNYXRjaCgvdmVyc2lvblxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgICwgdGFibGV0ID0gL3RhYmxldC9pLnRlc3QodWEpICYmICEvdGFibGV0IHBjL2kudGVzdCh1YSlcbiAgICAgICwgbW9iaWxlID0gIXRhYmxldCAmJiAvW14tXW1vYmkvaS50ZXN0KHVhKVxuICAgICAgLCB4Ym94ID0gL3hib3gvaS50ZXN0KHVhKVxuICAgICAgLCByZXN1bHRcblxuICAgIGlmICgvb3BlcmEvaS50ZXN0KHVhKSkge1xuICAgICAgLy8gIGFuIG9sZCBPcGVyYVxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnT3BlcmEnXG4gICAgICAsIG9wZXJhOiB0XG4gICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goLyg/Om9wZXJhfG9wcnxvcGlvcylbXFxzXFwvXShcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKC9vcHJcXC98b3Bpb3MvaS50ZXN0KHVhKSkge1xuICAgICAgLy8gYSBuZXcgT3BlcmFcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ09wZXJhJ1xuICAgICAgICAsIG9wZXJhOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86b3ByfG9waW9zKVtcXHNcXC9dKFxcZCsoXFwuXFxkKyk/KS9pKSB8fCB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvU2Ftc3VuZ0Jyb3dzZXIvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnU2Ftc3VuZyBJbnRlcm5ldCBmb3IgQW5kcm9pZCdcbiAgICAgICAgLCBzYW1zdW5nQnJvd3NlcjogdFxuICAgICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goLyg/OlNhbXN1bmdCcm93c2VyKVtcXHNcXC9dKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvY29hc3QvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnT3BlcmEgQ29hc3QnXG4gICAgICAgICwgY29hc3Q6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC8oPzpjb2FzdClbXFxzXFwvXShcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL3lhYnJvd3Nlci9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdZYW5kZXggQnJvd3NlcidcbiAgICAgICwgeWFuZGV4YnJvd3NlcjogdFxuICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC8oPzp5YWJyb3dzZXIpW1xcc1xcL10oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC91Y2Jyb3dzZXIvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIG5hbWU6ICdVQyBCcm93c2VyJ1xuICAgICAgICAsIHVjYnJvd3NlcjogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OnVjYnJvd3NlcilbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvbXhpb3MvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnTWF4dGhvbidcbiAgICAgICAgLCBtYXh0aG9uOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86bXhpb3MpW1xcc1xcL10oXFxkKyg/OlxcLlxcZCspKykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL2VwaXBoYW55L2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ0VwaXBoYW55J1xuICAgICAgICAsIGVwaXBoYW55OiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86ZXBpcGhhbnkpW1xcc1xcL10oXFxkKyg/OlxcLlxcZCspKykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL3B1ZmZpbi9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdQdWZmaW4nXG4gICAgICAgICwgcHVmZmluOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86cHVmZmluKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9zbGVpcG5pci9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdTbGVpcG5pcidcbiAgICAgICAgLCBzbGVpcG5pcjogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OnNsZWlwbmlyKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKSspL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9rLW1lbGVvbi9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdLLU1lbGVvbidcbiAgICAgICAgLCBrTWVsZW9uOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86ay1tZWxlb24pW1xcc1xcL10oXFxkKyg/OlxcLlxcZCspKykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAod2luZG93c3Bob25lKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdXaW5kb3dzIFBob25lJ1xuICAgICAgLCBvc25hbWU6ICdXaW5kb3dzIFBob25lJ1xuICAgICAgLCB3aW5kb3dzcGhvbmU6IHRcbiAgICAgIH1cbiAgICAgIGlmIChlZGdlVmVyc2lvbikge1xuICAgICAgICByZXN1bHQubXNlZGdlID0gdFxuICAgICAgICByZXN1bHQudmVyc2lvbiA9IGVkZ2VWZXJzaW9uXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmVzdWx0Lm1zaWUgPSB0XG4gICAgICAgIHJlc3VsdC52ZXJzaW9uID0gZ2V0Rmlyc3RNYXRjaCgvaWVtb2JpbGVcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9tc2llfHRyaWRlbnQvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnSW50ZXJuZXQgRXhwbG9yZXInXG4gICAgICAsIG1zaWU6IHRcbiAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86bXNpZSB8cnY6KShcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNocm9tZW9zKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdDaHJvbWUnXG4gICAgICAsIG9zbmFtZTogJ0Nocm9tZSBPUydcbiAgICAgICwgY2hyb21lb3M6IHRcbiAgICAgICwgY2hyb21lQm9vazogdFxuICAgICAgLCBjaHJvbWU6IHRcbiAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86Y2hyb21lfGNyaW9zfGNybW8pXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoL2VkZyhbZWFdfGlvcykvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnTWljcm9zb2Z0IEVkZ2UnXG4gICAgICAsIG1zZWRnZTogdFxuICAgICAgLCB2ZXJzaW9uOiBlZGdlVmVyc2lvblxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvdml2YWxkaS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdWaXZhbGRpJ1xuICAgICAgICAsIHZpdmFsZGk6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC92aXZhbGRpXFwvKFxcZCsoXFwuXFxkKyk/KS9pKSB8fCB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChzYWlsZmlzaCkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnU2FpbGZpc2gnXG4gICAgICAsIG9zbmFtZTogJ1NhaWxmaXNoIE9TJ1xuICAgICAgLCBzYWlsZmlzaDogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC9zYWlsZmlzaFxccz9icm93c2VyXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvc2VhbW9ua2V5XFwvL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1NlYU1vbmtleSdcbiAgICAgICwgc2VhbW9ua2V5OiB0XG4gICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goL3NlYW1vbmtleVxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL2ZpcmVmb3h8aWNld2Vhc2VsfGZ4aW9zL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ0ZpcmVmb3gnXG4gICAgICAsIGZpcmVmb3g6IHRcbiAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86ZmlyZWZveHxpY2V3ZWFzZWx8Znhpb3MpWyBcXC9dKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgICAgaWYgKC9cXCgobW9iaWxlfHRhYmxldCk7W15cXCldKnJ2OltcXGRcXC5dK1xcKS9pLnRlc3QodWEpKSB7XG4gICAgICAgIHJlc3VsdC5maXJlZm94b3MgPSB0XG4gICAgICAgIHJlc3VsdC5vc25hbWUgPSAnRmlyZWZveCBPUydcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoc2lsaykge1xuICAgICAgcmVzdWx0ID0gIHtcbiAgICAgICAgbmFtZTogJ0FtYXpvbiBTaWxrJ1xuICAgICAgLCBzaWxrOiB0XG4gICAgICAsIHZlcnNpb24gOiBnZXRGaXJzdE1hdGNoKC9zaWxrXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvcGhhbnRvbS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdQaGFudG9tSlMnXG4gICAgICAsIHBoYW50b206IHRcbiAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvcGhhbnRvbWpzXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvc2xpbWVyanMvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnU2xpbWVySlMnXG4gICAgICAgICwgc2xpbWVyOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvc2xpbWVyanNcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9ibGFja2JlcnJ5fFxcYmJiXFxkKy9pLnRlc3QodWEpIHx8IC9yaW1cXHN0YWJsZXQvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnQmxhY2tCZXJyeSdcbiAgICAgICwgb3NuYW1lOiAnQmxhY2tCZXJyeSBPUydcbiAgICAgICwgYmxhY2tiZXJyeTogdFxuICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC9ibGFja2JlcnJ5W1xcZF0rXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh3ZWJvcykge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnV2ViT1MnXG4gICAgICAsIG9zbmFtZTogJ1dlYk9TJ1xuICAgICAgLCB3ZWJvczogdFxuICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC93KD86ZWIpP29zYnJvd3NlclxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH07XG4gICAgICAvdG91Y2hwYWRcXC8vaS50ZXN0KHVhKSAmJiAocmVzdWx0LnRvdWNocGFkID0gdClcbiAgICB9XG4gICAgZWxzZSBpZiAoL2JhZGEvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnQmFkYSdcbiAgICAgICwgb3NuYW1lOiAnQmFkYSdcbiAgICAgICwgYmFkYTogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC9kb2xmaW5cXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9O1xuICAgIH1cbiAgICBlbHNlIGlmICh0aXplbikge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnVGl6ZW4nXG4gICAgICAsIG9zbmFtZTogJ1RpemVuJ1xuICAgICAgLCB0aXplbjogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzp0aXplblxccz8pP2Jyb3dzZXJcXC8oXFxkKyhcXC5cXGQrKT8pL2kpIHx8IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9O1xuICAgIH1cbiAgICBlbHNlIGlmICgvcXVwemlsbGEvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnUXVwWmlsbGEnXG4gICAgICAgICwgcXVwemlsbGE6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpxdXB6aWxsYSlbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKSB8fCB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvY2hyb21pdW0vaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnQ2hyb21pdW0nXG4gICAgICAgICwgY2hyb21pdW06IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpjaHJvbWl1bSlbXFxzXFwvXShcXGQrKD86XFwuXFxkKyk/KS9pKSB8fCB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvY2hyb21lfGNyaW9zfGNybW8vaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnQ2hyb21lJ1xuICAgICAgICAsIGNocm9tZTogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OmNocm9tZXxjcmlvc3xjcm1vKVxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoYW5kcm9pZCkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnQW5kcm9pZCdcbiAgICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvc2FmYXJpfGFwcGxld2Via2l0L2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1NhZmFyaSdcbiAgICAgICwgc2FmYXJpOiB0XG4gICAgICB9XG4gICAgICBpZiAodmVyc2lvbklkZW50aWZpZXIpIHtcbiAgICAgICAgcmVzdWx0LnZlcnNpb24gPSB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpb3NkZXZpY2UpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZSA6IGlvc2RldmljZSA9PSAnaXBob25lJyA/ICdpUGhvbmUnIDogaW9zZGV2aWNlID09ICdpcGFkJyA/ICdpUGFkJyA6ICdpUG9kJ1xuICAgICAgfVxuICAgICAgLy8gV1RGOiB2ZXJzaW9uIGlzIG5vdCBwYXJ0IG9mIHVzZXIgYWdlbnQgaW4gd2ViIGFwcHNcbiAgICAgIGlmICh2ZXJzaW9uSWRlbnRpZmllcikge1xuICAgICAgICByZXN1bHQudmVyc2lvbiA9IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYoL2dvb2dsZWJvdC9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdHb29nbGVib3QnXG4gICAgICAsIGdvb2dsZWJvdDogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC9nb29nbGVib3RcXC8oXFxkKyhcXC5cXGQrKSkvaSkgfHwgdmVyc2lvbklkZW50aWZpZXJcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6IGdldEZpcnN0TWF0Y2goL14oLiopXFwvKC4qKSAvKSxcbiAgICAgICAgdmVyc2lvbjogZ2V0U2Vjb25kTWF0Y2goL14oLiopXFwvKC4qKSAvKVxuICAgICB9O1xuICAgfVxuXG4gICAgLy8gc2V0IHdlYmtpdCBvciBnZWNrbyBmbGFnIGZvciBicm93c2VycyBiYXNlZCBvbiB0aGVzZSBlbmdpbmVzXG4gICAgaWYgKCFyZXN1bHQubXNlZGdlICYmIC8oYXBwbGUpP3dlYmtpdC9pLnRlc3QodWEpKSB7XG4gICAgICBpZiAoLyhhcHBsZSk/d2Via2l0XFwvNTM3XFwuMzYvaS50ZXN0KHVhKSkge1xuICAgICAgICByZXN1bHQubmFtZSA9IHJlc3VsdC5uYW1lIHx8IFwiQmxpbmtcIlxuICAgICAgICByZXN1bHQuYmxpbmsgPSB0XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQubmFtZSA9IHJlc3VsdC5uYW1lIHx8IFwiV2Via2l0XCJcbiAgICAgICAgcmVzdWx0LndlYmtpdCA9IHRcbiAgICAgIH1cbiAgICAgIGlmICghcmVzdWx0LnZlcnNpb24gJiYgdmVyc2lvbklkZW50aWZpZXIpIHtcbiAgICAgICAgcmVzdWx0LnZlcnNpb24gPSB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXJlc3VsdC5vcGVyYSAmJiAvZ2Vja29cXC8vaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0Lm5hbWUgPSByZXN1bHQubmFtZSB8fCBcIkdlY2tvXCJcbiAgICAgIHJlc3VsdC5nZWNrbyA9IHRcbiAgICAgIHJlc3VsdC52ZXJzaW9uID0gcmVzdWx0LnZlcnNpb24gfHwgZ2V0Rmlyc3RNYXRjaCgvZ2Vja29cXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgfVxuXG4gICAgLy8gc2V0IE9TIGZsYWdzIGZvciBwbGF0Zm9ybXMgdGhhdCBoYXZlIG11bHRpcGxlIGJyb3dzZXJzXG4gICAgaWYgKCFyZXN1bHQud2luZG93c3Bob25lICYmIChhbmRyb2lkIHx8IHJlc3VsdC5zaWxrKSkge1xuICAgICAgcmVzdWx0LmFuZHJvaWQgPSB0XG4gICAgICByZXN1bHQub3NuYW1lID0gJ0FuZHJvaWQnXG4gICAgfSBlbHNlIGlmICghcmVzdWx0LndpbmRvd3NwaG9uZSAmJiBpb3NkZXZpY2UpIHtcbiAgICAgIHJlc3VsdFtpb3NkZXZpY2VdID0gdFxuICAgICAgcmVzdWx0LmlvcyA9IHRcbiAgICAgIHJlc3VsdC5vc25hbWUgPSAnaU9TJ1xuICAgIH0gZWxzZSBpZiAobWFjKSB7XG4gICAgICByZXN1bHQubWFjID0gdFxuICAgICAgcmVzdWx0Lm9zbmFtZSA9ICdtYWNPUydcbiAgICB9IGVsc2UgaWYgKHhib3gpIHtcbiAgICAgIHJlc3VsdC54Ym94ID0gdFxuICAgICAgcmVzdWx0Lm9zbmFtZSA9ICdYYm94J1xuICAgIH0gZWxzZSBpZiAod2luZG93cykge1xuICAgICAgcmVzdWx0LndpbmRvd3MgPSB0XG4gICAgICByZXN1bHQub3NuYW1lID0gJ1dpbmRvd3MnXG4gICAgfSBlbHNlIGlmIChsaW51eCkge1xuICAgICAgcmVzdWx0LmxpbnV4ID0gdFxuICAgICAgcmVzdWx0Lm9zbmFtZSA9ICdMaW51eCdcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRXaW5kb3dzVmVyc2lvbiAocykge1xuICAgICAgc3dpdGNoIChzKSB7XG4gICAgICAgIGNhc2UgJ05UJzogcmV0dXJuICdOVCdcbiAgICAgICAgY2FzZSAnWFAnOiByZXR1cm4gJ1hQJ1xuICAgICAgICBjYXNlICdOVCA1LjAnOiByZXR1cm4gJzIwMDAnXG4gICAgICAgIGNhc2UgJ05UIDUuMSc6IHJldHVybiAnWFAnXG4gICAgICAgIGNhc2UgJ05UIDUuMic6IHJldHVybiAnMjAwMydcbiAgICAgICAgY2FzZSAnTlQgNi4wJzogcmV0dXJuICdWaXN0YSdcbiAgICAgICAgY2FzZSAnTlQgNi4xJzogcmV0dXJuICc3J1xuICAgICAgICBjYXNlICdOVCA2LjInOiByZXR1cm4gJzgnXG4gICAgICAgIGNhc2UgJ05UIDYuMyc6IHJldHVybiAnOC4xJ1xuICAgICAgICBjYXNlICdOVCAxMC4wJzogcmV0dXJuICcxMCdcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9TIHZlcnNpb24gZXh0cmFjdGlvblxuICAgIHZhciBvc1ZlcnNpb24gPSAnJztcbiAgICBpZiAocmVzdWx0LndpbmRvd3MpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldFdpbmRvd3NWZXJzaW9uKGdldEZpcnN0TWF0Y2goL1dpbmRvd3MgKChOVHxYUCkoIFxcZFxcZD8uXFxkKT8pL2kpKVxuICAgIH0gZWxzZSBpZiAocmVzdWx0LndpbmRvd3NwaG9uZSkge1xuICAgICAgb3NWZXJzaW9uID0gZ2V0Rmlyc3RNYXRjaCgvd2luZG93cyBwaG9uZSAoPzpvcyk/XFxzPyhcXGQrKFxcLlxcZCspKikvaSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQubWFjKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC9NYWMgT1MgWCAoXFxkKyhbX1xcLlxcc11cXGQrKSopL2kpO1xuICAgICAgb3NWZXJzaW9uID0gb3NWZXJzaW9uLnJlcGxhY2UoL1tfXFxzXS9nLCAnLicpO1xuICAgIH0gZWxzZSBpZiAoaW9zZGV2aWNlKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC9vcyAoXFxkKyhbX1xcc11cXGQrKSopIGxpa2UgbWFjIG9zIHgvaSk7XG4gICAgICBvc1ZlcnNpb24gPSBvc1ZlcnNpb24ucmVwbGFjZSgvW19cXHNdL2csICcuJyk7XG4gICAgfSBlbHNlIGlmIChhbmRyb2lkKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC9hbmRyb2lkWyBcXC8tXShcXGQrKFxcLlxcZCspKikvaSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQud2Vib3MpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goLyg/OndlYnxocHcpb3NcXC8oXFxkKyhcXC5cXGQrKSopL2kpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LmJsYWNrYmVycnkpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goL3JpbVxcc3RhYmxldFxcc29zXFxzKFxcZCsoXFwuXFxkKykqKS9pKTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdC5iYWRhKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC9iYWRhXFwvKFxcZCsoXFwuXFxkKykqKS9pKTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdC50aXplbikge1xuICAgICAgb3NWZXJzaW9uID0gZ2V0Rmlyc3RNYXRjaCgvdGl6ZW5bXFwvXFxzXShcXGQrKFxcLlxcZCspKikvaSk7XG4gICAgfVxuICAgIGlmIChvc1ZlcnNpb24pIHtcbiAgICAgIHJlc3VsdC5vc3ZlcnNpb24gPSBvc1ZlcnNpb247XG4gICAgfVxuXG4gICAgLy8gZGV2aWNlIHR5cGUgZXh0cmFjdGlvblxuICAgIHZhciBvc01ham9yVmVyc2lvbiA9ICFyZXN1bHQud2luZG93cyAmJiBvc1ZlcnNpb24uc3BsaXQoJy4nKVswXTtcbiAgICBpZiAoXG4gICAgICAgICB0YWJsZXRcbiAgICAgIHx8IG5leHVzVGFibGV0XG4gICAgICB8fCBpb3NkZXZpY2UgPT0gJ2lwYWQnXG4gICAgICB8fCAoYW5kcm9pZCAmJiAob3NNYWpvclZlcnNpb24gPT0gMyB8fCAob3NNYWpvclZlcnNpb24gPj0gNCAmJiAhbW9iaWxlKSkpXG4gICAgICB8fCByZXN1bHQuc2lsa1xuICAgICkge1xuICAgICAgcmVzdWx0LnRhYmxldCA9IHRcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgbW9iaWxlXG4gICAgICB8fCBpb3NkZXZpY2UgPT0gJ2lwaG9uZSdcbiAgICAgIHx8IGlvc2RldmljZSA9PSAnaXBvZCdcbiAgICAgIHx8IGFuZHJvaWRcbiAgICAgIHx8IG5leHVzTW9iaWxlXG4gICAgICB8fCByZXN1bHQuYmxhY2tiZXJyeVxuICAgICAgfHwgcmVzdWx0LndlYm9zXG4gICAgICB8fCByZXN1bHQuYmFkYVxuICAgICkge1xuICAgICAgcmVzdWx0Lm1vYmlsZSA9IHRcbiAgICB9XG5cbiAgICAvLyBHcmFkZWQgQnJvd3NlciBTdXBwb3J0XG4gICAgLy8gaHR0cDovL2RldmVsb3Blci55YWhvby5jb20veXVpL2FydGljbGVzL2dic1xuICAgIGlmIChyZXN1bHQubXNlZGdlIHx8XG4gICAgICAgIChyZXN1bHQubXNpZSAmJiByZXN1bHQudmVyc2lvbiA+PSAxMCkgfHxcbiAgICAgICAgKHJlc3VsdC55YW5kZXhicm93c2VyICYmIHJlc3VsdC52ZXJzaW9uID49IDE1KSB8fFxuXHRcdCAgICAocmVzdWx0LnZpdmFsZGkgJiYgcmVzdWx0LnZlcnNpb24gPj0gMS4wKSB8fFxuICAgICAgICAocmVzdWx0LmNocm9tZSAmJiByZXN1bHQudmVyc2lvbiA+PSAyMCkgfHxcbiAgICAgICAgKHJlc3VsdC5zYW1zdW5nQnJvd3NlciAmJiByZXN1bHQudmVyc2lvbiA+PSA0KSB8fFxuICAgICAgICAocmVzdWx0LmZpcmVmb3ggJiYgcmVzdWx0LnZlcnNpb24gPj0gMjAuMCkgfHxcbiAgICAgICAgKHJlc3VsdC5zYWZhcmkgJiYgcmVzdWx0LnZlcnNpb24gPj0gNikgfHxcbiAgICAgICAgKHJlc3VsdC5vcGVyYSAmJiByZXN1bHQudmVyc2lvbiA+PSAxMC4wKSB8fFxuICAgICAgICAocmVzdWx0LmlvcyAmJiByZXN1bHQub3N2ZXJzaW9uICYmIHJlc3VsdC5vc3ZlcnNpb24uc3BsaXQoXCIuXCIpWzBdID49IDYpIHx8XG4gICAgICAgIChyZXN1bHQuYmxhY2tiZXJyeSAmJiByZXN1bHQudmVyc2lvbiA+PSAxMC4xKVxuICAgICAgICB8fCAocmVzdWx0LmNocm9taXVtICYmIHJlc3VsdC52ZXJzaW9uID49IDIwKVxuICAgICAgICApIHtcbiAgICAgIHJlc3VsdC5hID0gdDtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHJlc3VsdC5tc2llICYmIHJlc3VsdC52ZXJzaW9uIDwgMTApIHx8XG4gICAgICAgIChyZXN1bHQuY2hyb21lICYmIHJlc3VsdC52ZXJzaW9uIDwgMjApIHx8XG4gICAgICAgIChyZXN1bHQuZmlyZWZveCAmJiByZXN1bHQudmVyc2lvbiA8IDIwLjApIHx8XG4gICAgICAgIChyZXN1bHQuc2FmYXJpICYmIHJlc3VsdC52ZXJzaW9uIDwgNikgfHxcbiAgICAgICAgKHJlc3VsdC5vcGVyYSAmJiByZXN1bHQudmVyc2lvbiA8IDEwLjApIHx8XG4gICAgICAgIChyZXN1bHQuaW9zICYmIHJlc3VsdC5vc3ZlcnNpb24gJiYgcmVzdWx0Lm9zdmVyc2lvbi5zcGxpdChcIi5cIilbMF0gPCA2KVxuICAgICAgICB8fCAocmVzdWx0LmNocm9taXVtICYmIHJlc3VsdC52ZXJzaW9uIDwgMjApXG4gICAgICAgICkge1xuICAgICAgcmVzdWx0LmMgPSB0XG4gICAgfSBlbHNlIHJlc3VsdC54ID0gdFxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgdmFyIGJvd3NlciA9IGRldGVjdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyA/IG5hdmlnYXRvci51c2VyQWdlbnQgfHwgJycgOiAnJylcblxuICBib3dzZXIudGVzdCA9IGZ1bmN0aW9uIChicm93c2VyTGlzdCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJvd3Nlckxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBicm93c2VySXRlbSA9IGJyb3dzZXJMaXN0W2ldO1xuICAgICAgaWYgKHR5cGVvZiBicm93c2VySXRlbT09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoYnJvd3Nlckl0ZW0gaW4gYm93c2VyKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2ZXJzaW9uIHByZWNpc2lvbnMgY291bnRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogICBnZXRWZXJzaW9uUHJlY2lzaW9uKFwiMS4xMC4zXCIpIC8vIDNcbiAgICpcbiAgICogQHBhcmFtICB7c3RyaW5nfSB2ZXJzaW9uXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGZ1bmN0aW9uIGdldFZlcnNpb25QcmVjaXNpb24odmVyc2lvbikge1xuICAgIHJldHVybiB2ZXJzaW9uLnNwbGl0KFwiLlwiKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQXJyYXk6Om1hcCBwb2x5ZmlsbFxuICAgKlxuICAgKiBAcGFyYW0gIHtBcnJheX0gYXJyXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBpdGVyYXRvclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGZ1bmN0aW9uIG1hcChhcnIsIGl0ZXJhdG9yKSB7XG4gICAgdmFyIHJlc3VsdCA9IFtdLCBpO1xuICAgIGlmIChBcnJheS5wcm90b3R5cGUubWFwKSB7XG4gICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyciwgaXRlcmF0b3IpO1xuICAgIH1cbiAgICBmb3IgKGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVyYXRvcihhcnJbaV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgYnJvd3NlciB2ZXJzaW9uIHdlaWdodFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAgIGNvbXBhcmVWZXJzaW9ucyhbJzEuMTAuMi4xJywgICcxLjguMi4xLjkwJ10pICAgIC8vIDFcbiAgICogICBjb21wYXJlVmVyc2lvbnMoWycxLjAxMC4yLjEnLCAnMS4wOS4yLjEuOTAnXSk7ICAvLyAxXG4gICAqICAgY29tcGFyZVZlcnNpb25zKFsnMS4xMC4yLjEnLCAgJzEuMTAuMi4xJ10pOyAgICAgLy8gMFxuICAgKiAgIGNvbXBhcmVWZXJzaW9ucyhbJzEuMTAuMi4xJywgICcxLjA4MDAuMiddKTsgICAgIC8vIC0xXG4gICAqXG4gICAqIEBwYXJhbSAge0FycmF5PFN0cmluZz59IHZlcnNpb25zIHZlcnNpb25zIHRvIGNvbXBhcmVcbiAgICogQHJldHVybiB7TnVtYmVyfSBjb21wYXJpc29uIHJlc3VsdFxuICAgKi9cbiAgZnVuY3Rpb24gY29tcGFyZVZlcnNpb25zKHZlcnNpb25zKSB7XG4gICAgLy8gMSkgZ2V0IGNvbW1vbiBwcmVjaXNpb24gZm9yIGJvdGggdmVyc2lvbnMsIGZvciBleGFtcGxlIGZvciBcIjEwLjBcIiBhbmQgXCI5XCIgaXQgc2hvdWxkIGJlIDJcbiAgICB2YXIgcHJlY2lzaW9uID0gTWF0aC5tYXgoZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uc1swXSksIGdldFZlcnNpb25QcmVjaXNpb24odmVyc2lvbnNbMV0pKTtcbiAgICB2YXIgY2h1bmtzID0gbWFwKHZlcnNpb25zLCBmdW5jdGlvbiAodmVyc2lvbikge1xuICAgICAgdmFyIGRlbHRhID0gcHJlY2lzaW9uIC0gZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uKTtcblxuICAgICAgLy8gMikgXCI5XCIgLT4gXCI5LjBcIiAoZm9yIHByZWNpc2lvbiA9IDIpXG4gICAgICB2ZXJzaW9uID0gdmVyc2lvbiArIG5ldyBBcnJheShkZWx0YSArIDEpLmpvaW4oXCIuMFwiKTtcblxuICAgICAgLy8gMykgXCI5LjBcIiAtPiBbXCIwMDAwMDAwMDBcIlwiLCBcIjAwMDAwMDAwOVwiXVxuICAgICAgcmV0dXJuIG1hcCh2ZXJzaW9uLnNwbGl0KFwiLlwiKSwgZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgICAgIHJldHVybiBuZXcgQXJyYXkoMjAgLSBjaHVuay5sZW5ndGgpLmpvaW4oXCIwXCIpICsgY2h1bms7XG4gICAgICB9KS5yZXZlcnNlKCk7XG4gICAgfSk7XG5cbiAgICAvLyBpdGVyYXRlIGluIHJldmVyc2Ugb3JkZXIgYnkgcmV2ZXJzZWQgY2h1bmtzIGFycmF5XG4gICAgd2hpbGUgKC0tcHJlY2lzaW9uID49IDApIHtcbiAgICAgIC8vIDQpIGNvbXBhcmU6IFwiMDAwMDAwMDA5XCIgPiBcIjAwMDAwMDAxMFwiID0gZmFsc2UgKGJ1dCBcIjlcIiA+IFwiMTBcIiA9IHRydWUpXG4gICAgICBpZiAoY2h1bmtzWzBdW3ByZWNpc2lvbl0gPiBjaHVua3NbMV1bcHJlY2lzaW9uXSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGNodW5rc1swXVtwcmVjaXNpb25dID09PSBjaHVua3NbMV1bcHJlY2lzaW9uXSkge1xuICAgICAgICBpZiAocHJlY2lzaW9uID09PSAwKSB7XG4gICAgICAgICAgLy8gYWxsIHZlcnNpb24gY2h1bmtzIGFyZSBzYW1lXG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJyb3dzZXIgaXMgdW5zdXBwb3J0ZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogICBib3dzZXIuaXNVbnN1cHBvcnRlZEJyb3dzZXIoe1xuICAgKiAgICAgbXNpZTogXCIxMFwiLFxuICAgKiAgICAgZmlyZWZveDogXCIyM1wiLFxuICAgKiAgICAgY2hyb21lOiBcIjI5XCIsXG4gICAqICAgICBzYWZhcmk6IFwiNS4xXCIsXG4gICAqICAgICBvcGVyYTogXCIxNlwiLFxuICAgKiAgICAgcGhhbnRvbTogXCI1MzRcIlxuICAgKiAgIH0pO1xuICAgKlxuICAgKiBAcGFyYW0gIHtPYmplY3R9ICBtaW5WZXJzaW9ucyBtYXAgb2YgbWluaW1hbCB2ZXJzaW9uIHRvIGJyb3dzZXJcbiAgICogQHBhcmFtICB7Qm9vbGVhbn0gW3N0cmljdE1vZGUgPSBmYWxzZV0gZmxhZyB0byByZXR1cm4gZmFsc2UgaWYgYnJvd3NlciB3YXNuJ3QgZm91bmQgaW4gbWFwXG4gICAqIEBwYXJhbSAge1N0cmluZ30gIFt1YV0gdXNlciBhZ2VudCBzdHJpbmdcbiAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICovXG4gIGZ1bmN0aW9uIGlzVW5zdXBwb3J0ZWRCcm93c2VyKG1pblZlcnNpb25zLCBzdHJpY3RNb2RlLCB1YSkge1xuICAgIHZhciBfYm93c2VyID0gYm93c2VyO1xuXG4gICAgLy8gbWFrZSBzdHJpY3RNb2RlIHBhcmFtIG9wdGlvbmFsIHdpdGggdWEgcGFyYW0gdXNhZ2VcbiAgICBpZiAodHlwZW9mIHN0cmljdE1vZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1YSA9IHN0cmljdE1vZGU7XG4gICAgICBzdHJpY3RNb2RlID0gdm9pZCgwKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyaWN0TW9kZSA9PT0gdm9pZCgwKSkge1xuICAgICAgc3RyaWN0TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodWEpIHtcbiAgICAgIF9ib3dzZXIgPSBkZXRlY3QodWEpO1xuICAgIH1cblxuICAgIHZhciB2ZXJzaW9uID0gXCJcIiArIF9ib3dzZXIudmVyc2lvbjtcbiAgICBmb3IgKHZhciBicm93c2VyIGluIG1pblZlcnNpb25zKSB7XG4gICAgICBpZiAobWluVmVyc2lvbnMuaGFzT3duUHJvcGVydHkoYnJvd3NlcikpIHtcbiAgICAgICAgaWYgKF9ib3dzZXJbYnJvd3Nlcl0pIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG1pblZlcnNpb25zW2Jyb3dzZXJdICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCcm93c2VyIHZlcnNpb24gaW4gdGhlIG1pblZlcnNpb24gbWFwIHNob3VsZCBiZSBhIHN0cmluZzogJyArIGJyb3dzZXIgKyAnOiAnICsgU3RyaW5nKG1pblZlcnNpb25zKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gYnJvd3NlciB2ZXJzaW9uIGFuZCBtaW4gc3VwcG9ydGVkIHZlcnNpb24uXG4gICAgICAgICAgcmV0dXJuIGNvbXBhcmVWZXJzaW9ucyhbdmVyc2lvbiwgbWluVmVyc2lvbnNbYnJvd3Nlcl1dKSA8IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaWN0TW9kZTsgLy8gbm90IGZvdW5kXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYnJvd3NlciBpcyBzdXBwb3J0ZWRcbiAgICpcbiAgICogQHBhcmFtICB7T2JqZWN0fSBtaW5WZXJzaW9ucyBtYXAgb2YgbWluaW1hbCB2ZXJzaW9uIHRvIGJyb3dzZXJcbiAgICogQHBhcmFtICB7Qm9vbGVhbn0gW3N0cmljdE1vZGUgPSBmYWxzZV0gZmxhZyB0byByZXR1cm4gZmFsc2UgaWYgYnJvd3NlciB3YXNuJ3QgZm91bmQgaW4gbWFwXG4gICAqIEBwYXJhbSAge1N0cmluZ30gIFt1YV0gdXNlciBhZ2VudCBzdHJpbmdcbiAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICovXG4gIGZ1bmN0aW9uIGNoZWNrKG1pblZlcnNpb25zLCBzdHJpY3RNb2RlLCB1YSkge1xuICAgIHJldHVybiAhaXNVbnN1cHBvcnRlZEJyb3dzZXIobWluVmVyc2lvbnMsIHN0cmljdE1vZGUsIHVhKTtcbiAgfVxuXG4gIGJvd3Nlci5pc1Vuc3VwcG9ydGVkQnJvd3NlciA9IGlzVW5zdXBwb3J0ZWRCcm93c2VyO1xuICBib3dzZXIuY29tcGFyZVZlcnNpb25zID0gY29tcGFyZVZlcnNpb25zO1xuICBib3dzZXIuY2hlY2sgPSBjaGVjaztcblxuICAvKlxuICAgKiBTZXQgb3VyIGRldGVjdCBtZXRob2QgdG8gdGhlIG1haW4gYm93c2VyIG9iamVjdCBzbyB3ZSBjYW5cbiAgICogcmV1c2UgaXQgdG8gdGVzdCBvdGhlciB1c2VyIGFnZW50cy5cbiAgICogVGhpcyBpcyBuZWVkZWQgdG8gaW1wbGVtZW50IGZ1dHVyZSB0ZXN0cy5cbiAgICovXG4gIGJvd3Nlci5fZGV0ZWN0ID0gZGV0ZWN0O1xuXG4gIC8qXG4gICAqIFNldCBvdXIgZGV0ZWN0IHB1YmxpYyBtZXRob2QgdG8gdGhlIG1haW4gYm93c2VyIG9iamVjdFxuICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbXBsZW1lbnQgYm93c2VyIGluIHNlcnZlciBzaWRlXG4gICAqL1xuICBib3dzZXIuZGV0ZWN0ID0gZGV0ZWN0O1xuICByZXR1cm4gYm93c2VyXG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/bowser/src/bowser.js\n"); +eval("/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (true) __webpack_require__(/*! !webpack amd define */ \"./node_modules/webpack/buildin/amd-define.js\")(name, definition)\n else {}\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)(o|0)s/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser'\n , whale: t\n , version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser'\n , mzbrowser: t\n , version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus'\n , focus: t\n , version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.whale && compareVersions([result.version, '1.0']) === 1) ||\n (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||\n (result.focus && compareVersions([result.version, '1.0']) === 1) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2Jvd3Nlci9zcmMvYm93c2VyLmpzP2E2ZTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxJQUF5QyxFQUFFLDhGQUFNO0FBQzVELE9BQU8sRUFBeUI7QUFDaEMsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG1CQUFtQix3QkFBd0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCLGNBQWMsU0FBUztBQUN2QixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxnQkFBZ0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRCxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xEO0FBQ0EsY0FBYyxjQUFjO0FBQzVCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsT0FBTztBQUNyQixjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLFFBQVE7QUFDdEIsY0FBYyxPQUFPO0FBQ3JCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYm93c2VyL3NyYy9ib3dzZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEJvd3NlciAtIGEgYnJvd3NlciBkZXRlY3RvclxuICogaHR0cHM6Ly9naXRodWIuY29tL2RlZC9ib3dzZXJcbiAqIE1JVCBMaWNlbnNlIHwgKGMpIER1c3RpbiBEaWF6IDIwMTVcbiAqL1xuXG4hZnVuY3Rpb24gKHJvb3QsIG5hbWUsIGRlZmluaXRpb24pIHtcbiAgaWYgKHR5cGVvZiBtb2R1bGUgIT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIG1vZHVsZS5leHBvcnRzID0gZGVmaW5pdGlvbigpXG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSBkZWZpbmUobmFtZSwgZGVmaW5pdGlvbilcbiAgZWxzZSByb290W25hbWVdID0gZGVmaW5pdGlvbigpXG59KHRoaXMsICdib3dzZXInLCBmdW5jdGlvbiAoKSB7XG4gIC8qKlxuICAgICogU2VlIHVzZXJhZ2VudHMuanMgZm9yIGV4YW1wbGVzIG9mIG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICAqL1xuXG4gIHZhciB0ID0gdHJ1ZVxuXG4gIGZ1bmN0aW9uIGRldGVjdCh1YSkge1xuXG4gICAgZnVuY3Rpb24gZ2V0Rmlyc3RNYXRjaChyZWdleCkge1xuICAgICAgdmFyIG1hdGNoID0gdWEubWF0Y2gocmVnZXgpO1xuICAgICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoWzFdKSB8fCAnJztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTZWNvbmRNYXRjaChyZWdleCkge1xuICAgICAgdmFyIG1hdGNoID0gdWEubWF0Y2gocmVnZXgpO1xuICAgICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoWzJdKSB8fCAnJztcbiAgICB9XG5cbiAgICB2YXIgaW9zZGV2aWNlID0gZ2V0Rmlyc3RNYXRjaCgvKGlwb2R8aXBob25lfGlwYWQpL2kpLnRvTG93ZXJDYXNlKClcbiAgICAgICwgbGlrZUFuZHJvaWQgPSAvbGlrZSBhbmRyb2lkL2kudGVzdCh1YSlcbiAgICAgICwgYW5kcm9pZCA9ICFsaWtlQW5kcm9pZCAmJiAvYW5kcm9pZC9pLnRlc3QodWEpXG4gICAgICAsIG5leHVzTW9iaWxlID0gL25leHVzXFxzKlswLTZdXFxzKi9pLnRlc3QodWEpXG4gICAgICAsIG5leHVzVGFibGV0ID0gIW5leHVzTW9iaWxlICYmIC9uZXh1c1xccypbMC05XSsvaS50ZXN0KHVhKVxuICAgICAgLCBjaHJvbWVvcyA9IC9Dck9TLy50ZXN0KHVhKVxuICAgICAgLCBzaWxrID0gL3NpbGsvaS50ZXN0KHVhKVxuICAgICAgLCBzYWlsZmlzaCA9IC9zYWlsZmlzaC9pLnRlc3QodWEpXG4gICAgICAsIHRpemVuID0gL3RpemVuL2kudGVzdCh1YSlcbiAgICAgICwgd2Vib3MgPSAvKHdlYnxocHcpKG98MClzL2kudGVzdCh1YSlcbiAgICAgICwgd2luZG93c3Bob25lID0gL3dpbmRvd3MgcGhvbmUvaS50ZXN0KHVhKVxuICAgICAgLCBzYW1zdW5nQnJvd3NlciA9IC9TYW1zdW5nQnJvd3Nlci9pLnRlc3QodWEpXG4gICAgICAsIHdpbmRvd3MgPSAhd2luZG93c3Bob25lICYmIC93aW5kb3dzL2kudGVzdCh1YSlcbiAgICAgICwgbWFjID0gIWlvc2RldmljZSAmJiAhc2lsayAmJiAvbWFjaW50b3NoL2kudGVzdCh1YSlcbiAgICAgICwgbGludXggPSAhYW5kcm9pZCAmJiAhc2FpbGZpc2ggJiYgIXRpemVuICYmICF3ZWJvcyAmJiAvbGludXgvaS50ZXN0KHVhKVxuICAgICAgLCBlZGdlVmVyc2lvbiA9IGdldFNlY29uZE1hdGNoKC9lZGcoW2VhXXxpb3MpXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgLCB2ZXJzaW9uSWRlbnRpZmllciA9IGdldEZpcnN0TWF0Y2goL3ZlcnNpb25cXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICAsIHRhYmxldCA9IC90YWJsZXQvaS50ZXN0KHVhKSAmJiAhL3RhYmxldCBwYy9pLnRlc3QodWEpXG4gICAgICAsIG1vYmlsZSA9ICF0YWJsZXQgJiYgL1teLV1tb2JpL2kudGVzdCh1YSlcbiAgICAgICwgeGJveCA9IC94Ym94L2kudGVzdCh1YSlcbiAgICAgICwgcmVzdWx0XG5cbiAgICBpZiAoL29wZXJhL2kudGVzdCh1YSkpIHtcbiAgICAgIC8vICBhbiBvbGQgT3BlcmFcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ09wZXJhJ1xuICAgICAgLCBvcGVyYTogdFxuICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC8oPzpvcGVyYXxvcHJ8b3Bpb3MpW1xcc1xcL10oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICgvb3ByXFwvfG9waW9zL2kudGVzdCh1YSkpIHtcbiAgICAgIC8vIGEgbmV3IE9wZXJhXG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdPcGVyYSdcbiAgICAgICAgLCBvcGVyYTogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/Om9wcnxvcGlvcylbXFxzXFwvXShcXGQrKFxcLlxcZCspPykvaSkgfHwgdmVyc2lvbklkZW50aWZpZXJcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL1NhbXN1bmdCcm93c2VyL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1NhbXN1bmcgSW50ZXJuZXQgZm9yIEFuZHJvaWQnXG4gICAgICAgICwgc2Ftc3VuZ0Jyb3dzZXI6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiB2ZXJzaW9uSWRlbnRpZmllciB8fCBnZXRGaXJzdE1hdGNoKC8oPzpTYW1zdW5nQnJvd3NlcilbXFxzXFwvXShcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL1doYWxlL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ05BVkVSIFdoYWxlIGJyb3dzZXInXG4gICAgICAgICwgd2hhbGU6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzp3aGFsZSlbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvTVpCcm93c2VyL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ01aIEJyb3dzZXInXG4gICAgICAgICwgbXpicm93c2VyOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86TVpCcm93c2VyKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKSspL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9jb2FzdC9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdPcGVyYSBDb2FzdCdcbiAgICAgICAgLCBjb2FzdDogdFxuICAgICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goLyg/OmNvYXN0KVtcXHNcXC9dKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvZm9jdXMvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnRm9jdXMnXG4gICAgICAgICwgZm9jdXM6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpmb2N1cylbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgveWFicm93c2VyL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1lhbmRleCBCcm93c2VyJ1xuICAgICAgLCB5YW5kZXhicm93c2VyOiB0XG4gICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goLyg/OnlhYnJvd3NlcilbXFxzXFwvXShcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL3VjYnJvd3Nlci9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgbmFtZTogJ1VDIEJyb3dzZXInXG4gICAgICAgICwgdWNicm93c2VyOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86dWNicm93c2VyKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKSspL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9teGlvcy9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdNYXh0aG9uJ1xuICAgICAgICAsIG1heHRob246IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpteGlvcylbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvZXBpcGhhbnkvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnRXBpcGhhbnknXG4gICAgICAgICwgZXBpcGhhbnk6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzplcGlwaGFueSlbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvcHVmZmluL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1B1ZmZpbidcbiAgICAgICAgLCBwdWZmaW46IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpwdWZmaW4pW1xcc1xcL10oXFxkKyg/OlxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL3NsZWlwbmlyL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1NsZWlwbmlyJ1xuICAgICAgICAsIHNsZWlwbmlyOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86c2xlaXBuaXIpW1xcc1xcL10oXFxkKyg/OlxcLlxcZCspKykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL2stbWVsZW9uL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ0stTWVsZW9uJ1xuICAgICAgICAsIGtNZWxlb246IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzprLW1lbGVvbilbXFxzXFwvXShcXGQrKD86XFwuXFxkKykrKS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh3aW5kb3dzcGhvbmUpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1dpbmRvd3MgUGhvbmUnXG4gICAgICAsIG9zbmFtZTogJ1dpbmRvd3MgUGhvbmUnXG4gICAgICAsIHdpbmRvd3NwaG9uZTogdFxuICAgICAgfVxuICAgICAgaWYgKGVkZ2VWZXJzaW9uKSB7XG4gICAgICAgIHJlc3VsdC5tc2VkZ2UgPSB0XG4gICAgICAgIHJlc3VsdC52ZXJzaW9uID0gZWRnZVZlcnNpb25cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXN1bHQubXNpZSA9IHRcbiAgICAgICAgcmVzdWx0LnZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC9pZW1vYmlsZVxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL21zaWV8dHJpZGVudC9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdJbnRlcm5ldCBFeHBsb3JlcidcbiAgICAgICwgbXNpZTogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzptc2llIHxydjopKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2hyb21lb3MpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ0Nocm9tZSdcbiAgICAgICwgb3NuYW1lOiAnQ2hyb21lIE9TJ1xuICAgICAgLCBjaHJvbWVvczogdFxuICAgICAgLCBjaHJvbWVCb29rOiB0XG4gICAgICAsIGNocm9tZTogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpjaHJvbWV8Y3Jpb3N8Y3JtbylcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICgvZWRnKFtlYV18aW9zKS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdNaWNyb3NvZnQgRWRnZSdcbiAgICAgICwgbXNlZGdlOiB0XG4gICAgICAsIHZlcnNpb246IGVkZ2VWZXJzaW9uXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC92aXZhbGRpL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1ZpdmFsZGknXG4gICAgICAgICwgdml2YWxkaTogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goL3ZpdmFsZGlcXC8oXFxkKyhcXC5cXGQrKT8pL2kpIHx8IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHNhaWxmaXNoKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdTYWlsZmlzaCdcbiAgICAgICwgb3NuYW1lOiAnU2FpbGZpc2ggT1MnXG4gICAgICAsIHNhaWxmaXNoOiB0XG4gICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goL3NhaWxmaXNoXFxzP2Jyb3dzZXJcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9zZWFtb25rZXlcXC8vaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnU2VhTW9ua2V5J1xuICAgICAgLCBzZWFtb25rZXk6IHRcbiAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvc2VhbW9ua2V5XFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgvZmlyZWZveHxpY2V3ZWFzZWx8Znhpb3MvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnRmlyZWZveCdcbiAgICAgICwgZmlyZWZveDogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC8oPzpmaXJlZm94fGljZXdlYXNlbHxmeGlvcylbIFxcL10oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgICBpZiAoL1xcKChtb2JpbGV8dGFibGV0KTtbXlxcKV0qcnY6W1xcZFxcLl0rXFwpL2kudGVzdCh1YSkpIHtcbiAgICAgICAgcmVzdWx0LmZpcmVmb3hvcyA9IHRcbiAgICAgICAgcmVzdWx0Lm9zbmFtZSA9ICdGaXJlZm94IE9TJ1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChzaWxrKSB7XG4gICAgICByZXN1bHQgPSAge1xuICAgICAgICBuYW1lOiAnQW1hem9uIFNpbGsnXG4gICAgICAsIHNpbGs6IHRcbiAgICAgICwgdmVyc2lvbiA6IGdldEZpcnN0TWF0Y2goL3NpbGtcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9waGFudG9tL2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ1BoYW50b21KUydcbiAgICAgICwgcGhhbnRvbTogdFxuICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC9waGFudG9tanNcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9zbGltZXJqcy9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdTbGltZXJKUydcbiAgICAgICAgLCBzbGltZXI6IHRcbiAgICAgICAgLCB2ZXJzaW9uOiBnZXRGaXJzdE1hdGNoKC9zbGltZXJqc1xcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoL2JsYWNrYmVycnl8XFxiYmJcXGQrL2kudGVzdCh1YSkgfHwgL3JpbVxcc3RhYmxldC9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdCbGFja0JlcnJ5J1xuICAgICAgLCBvc25hbWU6ICdCbGFja0JlcnJ5IE9TJ1xuICAgICAgLCBibGFja2JlcnJ5OiB0XG4gICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goL2JsYWNrYmVycnlbXFxkXStcXC8oXFxkKyhcXC5cXGQrKT8pL2kpXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHdlYm9zKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdXZWJPUydcbiAgICAgICwgb3NuYW1lOiAnV2ViT1MnXG4gICAgICAsIHdlYm9zOiB0XG4gICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyIHx8IGdldEZpcnN0TWF0Y2goL3coPzplYik/b3Nicm93c2VyXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfTtcbiAgICAgIC90b3VjaHBhZFxcLy9pLnRlc3QodWEpICYmIChyZXN1bHQudG91Y2hwYWQgPSB0KVxuICAgIH1cbiAgICBlbHNlIGlmICgvYmFkYS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdCYWRhJ1xuICAgICAgLCBvc25hbWU6ICdCYWRhJ1xuICAgICAgLCBiYWRhOiB0XG4gICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goL2RvbGZpblxcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKHRpemVuKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdUaXplbidcbiAgICAgICwgb3NuYW1lOiAnVGl6ZW4nXG4gICAgICAsIHRpemVuOiB0XG4gICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OnRpemVuXFxzPyk/YnJvd3NlclxcLyhcXGQrKFxcLlxcZCspPykvaSkgfHwgdmVyc2lvbklkZW50aWZpZXJcbiAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKC9xdXB6aWxsYS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdRdXBaaWxsYSdcbiAgICAgICAgLCBxdXB6aWxsYTogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OnF1cHppbGxhKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKSspL2kpIHx8IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9jaHJvbWl1bS9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdDaHJvbWl1bSdcbiAgICAgICAgLCBjaHJvbWl1bTogdFxuICAgICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goLyg/OmNocm9taXVtKVtcXHNcXC9dKFxcZCsoPzpcXC5cXGQrKT8pL2kpIHx8IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9jaHJvbWV8Y3Jpb3N8Y3Jtby9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdDaHJvbWUnXG4gICAgICAgICwgY2hyb21lOiB0XG4gICAgICAgICwgdmVyc2lvbjogZ2V0Rmlyc3RNYXRjaCgvKD86Y2hyb21lfGNyaW9zfGNybW8pXFwvKFxcZCsoXFwuXFxkKyk/KS9pKVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChhbmRyb2lkKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIG5hbWU6ICdBbmRyb2lkJ1xuICAgICAgICAsIHZlcnNpb246IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKC9zYWZhcml8YXBwbGV3ZWJraXQvaS50ZXN0KHVhKSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lOiAnU2FmYXJpJ1xuICAgICAgLCBzYWZhcmk6IHRcbiAgICAgIH1cbiAgICAgIGlmICh2ZXJzaW9uSWRlbnRpZmllcikge1xuICAgICAgICByZXN1bHQudmVyc2lvbiA9IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlvc2RldmljZSkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICBuYW1lIDogaW9zZGV2aWNlID09ICdpcGhvbmUnID8gJ2lQaG9uZScgOiBpb3NkZXZpY2UgPT0gJ2lwYWQnID8gJ2lQYWQnIDogJ2lQb2QnXG4gICAgICB9XG4gICAgICAvLyBXVEY6IHZlcnNpb24gaXMgbm90IHBhcnQgb2YgdXNlciBhZ2VudCBpbiB3ZWIgYXBwc1xuICAgICAgaWYgKHZlcnNpb25JZGVudGlmaWVyKSB7XG4gICAgICAgIHJlc3VsdC52ZXJzaW9uID0gdmVyc2lvbklkZW50aWZpZXJcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZigvZ29vZ2xlYm90L2kudGVzdCh1YSkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogJ0dvb2dsZWJvdCdcbiAgICAgICwgZ29vZ2xlYm90OiB0XG4gICAgICAsIHZlcnNpb246IGdldEZpcnN0TWF0Y2goL2dvb2dsZWJvdFxcLyhcXGQrKFxcLlxcZCspKS9pKSB8fCB2ZXJzaW9uSWRlbnRpZmllclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgbmFtZTogZ2V0Rmlyc3RNYXRjaCgvXiguKilcXC8oLiopIC8pLFxuICAgICAgICB2ZXJzaW9uOiBnZXRTZWNvbmRNYXRjaCgvXiguKilcXC8oLiopIC8pXG4gICAgIH07XG4gICB9XG5cbiAgICAvLyBzZXQgd2Via2l0IG9yIGdlY2tvIGZsYWcgZm9yIGJyb3dzZXJzIGJhc2VkIG9uIHRoZXNlIGVuZ2luZXNcbiAgICBpZiAoIXJlc3VsdC5tc2VkZ2UgJiYgLyhhcHBsZSk/d2Via2l0L2kudGVzdCh1YSkpIHtcbiAgICAgIGlmICgvKGFwcGxlKT93ZWJraXRcXC81MzdcXC4zNi9pLnRlc3QodWEpKSB7XG4gICAgICAgIHJlc3VsdC5uYW1lID0gcmVzdWx0Lm5hbWUgfHwgXCJCbGlua1wiXG4gICAgICAgIHJlc3VsdC5ibGluayA9IHRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5uYW1lID0gcmVzdWx0Lm5hbWUgfHwgXCJXZWJraXRcIlxuICAgICAgICByZXN1bHQud2Via2l0ID0gdFxuICAgICAgfVxuICAgICAgaWYgKCFyZXN1bHQudmVyc2lvbiAmJiB2ZXJzaW9uSWRlbnRpZmllcikge1xuICAgICAgICByZXN1bHQudmVyc2lvbiA9IHZlcnNpb25JZGVudGlmaWVyXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghcmVzdWx0Lm9wZXJhICYmIC9nZWNrb1xcLy9pLnRlc3QodWEpKSB7XG4gICAgICByZXN1bHQubmFtZSA9IHJlc3VsdC5uYW1lIHx8IFwiR2Vja29cIlxuICAgICAgcmVzdWx0LmdlY2tvID0gdFxuICAgICAgcmVzdWx0LnZlcnNpb24gPSByZXN1bHQudmVyc2lvbiB8fCBnZXRGaXJzdE1hdGNoKC9nZWNrb1xcLyhcXGQrKFxcLlxcZCspPykvaSlcbiAgICB9XG5cbiAgICAvLyBzZXQgT1MgZmxhZ3MgZm9yIHBsYXRmb3JtcyB0aGF0IGhhdmUgbXVsdGlwbGUgYnJvd3NlcnNcbiAgICBpZiAoIXJlc3VsdC53aW5kb3dzcGhvbmUgJiYgKGFuZHJvaWQgfHwgcmVzdWx0LnNpbGspKSB7XG4gICAgICByZXN1bHQuYW5kcm9pZCA9IHRcbiAgICAgIHJlc3VsdC5vc25hbWUgPSAnQW5kcm9pZCdcbiAgICB9IGVsc2UgaWYgKCFyZXN1bHQud2luZG93c3Bob25lICYmIGlvc2RldmljZSkge1xuICAgICAgcmVzdWx0W2lvc2RldmljZV0gPSB0XG4gICAgICByZXN1bHQuaW9zID0gdFxuICAgICAgcmVzdWx0Lm9zbmFtZSA9ICdpT1MnXG4gICAgfSBlbHNlIGlmIChtYWMpIHtcbiAgICAgIHJlc3VsdC5tYWMgPSB0XG4gICAgICByZXN1bHQub3NuYW1lID0gJ21hY09TJ1xuICAgIH0gZWxzZSBpZiAoeGJveCkge1xuICAgICAgcmVzdWx0Lnhib3ggPSB0XG4gICAgICByZXN1bHQub3NuYW1lID0gJ1hib3gnXG4gICAgfSBlbHNlIGlmICh3aW5kb3dzKSB7XG4gICAgICByZXN1bHQud2luZG93cyA9IHRcbiAgICAgIHJlc3VsdC5vc25hbWUgPSAnV2luZG93cydcbiAgICB9IGVsc2UgaWYgKGxpbnV4KSB7XG4gICAgICByZXN1bHQubGludXggPSB0XG4gICAgICByZXN1bHQub3NuYW1lID0gJ0xpbnV4J1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFdpbmRvd3NWZXJzaW9uIChzKSB7XG4gICAgICBzd2l0Y2ggKHMpIHtcbiAgICAgICAgY2FzZSAnTlQnOiByZXR1cm4gJ05UJ1xuICAgICAgICBjYXNlICdYUCc6IHJldHVybiAnWFAnXG4gICAgICAgIGNhc2UgJ05UIDUuMCc6IHJldHVybiAnMjAwMCdcbiAgICAgICAgY2FzZSAnTlQgNS4xJzogcmV0dXJuICdYUCdcbiAgICAgICAgY2FzZSAnTlQgNS4yJzogcmV0dXJuICcyMDAzJ1xuICAgICAgICBjYXNlICdOVCA2LjAnOiByZXR1cm4gJ1Zpc3RhJ1xuICAgICAgICBjYXNlICdOVCA2LjEnOiByZXR1cm4gJzcnXG4gICAgICAgIGNhc2UgJ05UIDYuMic6IHJldHVybiAnOCdcbiAgICAgICAgY2FzZSAnTlQgNi4zJzogcmV0dXJuICc4LjEnXG4gICAgICAgIGNhc2UgJ05UIDEwLjAnOiByZXR1cm4gJzEwJ1xuICAgICAgICBkZWZhdWx0OiByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT1MgdmVyc2lvbiBleHRyYWN0aW9uXG4gICAgdmFyIG9zVmVyc2lvbiA9ICcnO1xuICAgIGlmIChyZXN1bHQud2luZG93cykge1xuICAgICAgb3NWZXJzaW9uID0gZ2V0V2luZG93c1ZlcnNpb24oZ2V0Rmlyc3RNYXRjaCgvV2luZG93cyAoKE5UfFhQKSggXFxkXFxkPy5cXGQpPykvaSkpXG4gICAgfSBlbHNlIGlmIChyZXN1bHQud2luZG93c3Bob25lKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC93aW5kb3dzIHBob25lICg/Om9zKT9cXHM/KFxcZCsoXFwuXFxkKykqKS9pKTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdC5tYWMpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goL01hYyBPUyBYIChcXGQrKFtfXFwuXFxzXVxcZCspKikvaSk7XG4gICAgICBvc1ZlcnNpb24gPSBvc1ZlcnNpb24ucmVwbGFjZSgvW19cXHNdL2csICcuJyk7XG4gICAgfSBlbHNlIGlmIChpb3NkZXZpY2UpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goL29zIChcXGQrKFtfXFxzXVxcZCspKikgbGlrZSBtYWMgb3MgeC9pKTtcbiAgICAgIG9zVmVyc2lvbiA9IG9zVmVyc2lvbi5yZXBsYWNlKC9bX1xcc10vZywgJy4nKTtcbiAgICB9IGVsc2UgaWYgKGFuZHJvaWQpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goL2FuZHJvaWRbIFxcLy1dKFxcZCsoXFwuXFxkKykqKS9pKTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdC53ZWJvcykge1xuICAgICAgb3NWZXJzaW9uID0gZ2V0Rmlyc3RNYXRjaCgvKD86d2VifGhwdylvc1xcLyhcXGQrKFxcLlxcZCspKikvaSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQuYmxhY2tiZXJyeSkge1xuICAgICAgb3NWZXJzaW9uID0gZ2V0Rmlyc3RNYXRjaCgvcmltXFxzdGFibGV0XFxzb3NcXHMoXFxkKyhcXC5cXGQrKSopL2kpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LmJhZGEpIHtcbiAgICAgIG9zVmVyc2lvbiA9IGdldEZpcnN0TWF0Y2goL2JhZGFcXC8oXFxkKyhcXC5cXGQrKSopL2kpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnRpemVuKSB7XG4gICAgICBvc1ZlcnNpb24gPSBnZXRGaXJzdE1hdGNoKC90aXplbltcXC9cXHNdKFxcZCsoXFwuXFxkKykqKS9pKTtcbiAgICB9XG4gICAgaWYgKG9zVmVyc2lvbikge1xuICAgICAgcmVzdWx0Lm9zdmVyc2lvbiA9IG9zVmVyc2lvbjtcbiAgICB9XG5cbiAgICAvLyBkZXZpY2UgdHlwZSBleHRyYWN0aW9uXG4gICAgdmFyIG9zTWFqb3JWZXJzaW9uID0gIXJlc3VsdC53aW5kb3dzICYmIG9zVmVyc2lvbi5zcGxpdCgnLicpWzBdO1xuICAgIGlmIChcbiAgICAgICAgIHRhYmxldFxuICAgICAgfHwgbmV4dXNUYWJsZXRcbiAgICAgIHx8IGlvc2RldmljZSA9PSAnaXBhZCdcbiAgICAgIHx8IChhbmRyb2lkICYmIChvc01ham9yVmVyc2lvbiA9PSAzIHx8IChvc01ham9yVmVyc2lvbiA+PSA0ICYmICFtb2JpbGUpKSlcbiAgICAgIHx8IHJlc3VsdC5zaWxrXG4gICAgKSB7XG4gICAgICByZXN1bHQudGFibGV0ID0gdFxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICBtb2JpbGVcbiAgICAgIHx8IGlvc2RldmljZSA9PSAnaXBob25lJ1xuICAgICAgfHwgaW9zZGV2aWNlID09ICdpcG9kJ1xuICAgICAgfHwgYW5kcm9pZFxuICAgICAgfHwgbmV4dXNNb2JpbGVcbiAgICAgIHx8IHJlc3VsdC5ibGFja2JlcnJ5XG4gICAgICB8fCByZXN1bHQud2Vib3NcbiAgICAgIHx8IHJlc3VsdC5iYWRhXG4gICAgKSB7XG4gICAgICByZXN1bHQubW9iaWxlID0gdFxuICAgIH1cblxuICAgIC8vIEdyYWRlZCBCcm93c2VyIFN1cHBvcnRcbiAgICAvLyBodHRwOi8vZGV2ZWxvcGVyLnlhaG9vLmNvbS95dWkvYXJ0aWNsZXMvZ2JzXG4gICAgaWYgKHJlc3VsdC5tc2VkZ2UgfHxcbiAgICAgICAgKHJlc3VsdC5tc2llICYmIHJlc3VsdC52ZXJzaW9uID49IDEwKSB8fFxuICAgICAgICAocmVzdWx0LnlhbmRleGJyb3dzZXIgJiYgcmVzdWx0LnZlcnNpb24gPj0gMTUpIHx8XG5cdFx0ICAgIChyZXN1bHQudml2YWxkaSAmJiByZXN1bHQudmVyc2lvbiA+PSAxLjApIHx8XG4gICAgICAgIChyZXN1bHQuY2hyb21lICYmIHJlc3VsdC52ZXJzaW9uID49IDIwKSB8fFxuICAgICAgICAocmVzdWx0LnNhbXN1bmdCcm93c2VyICYmIHJlc3VsdC52ZXJzaW9uID49IDQpIHx8XG4gICAgICAgIChyZXN1bHQud2hhbGUgJiYgY29tcGFyZVZlcnNpb25zKFtyZXN1bHQudmVyc2lvbiwgJzEuMCddKSA9PT0gMSkgfHxcbiAgICAgICAgKHJlc3VsdC5temJyb3dzZXIgJiYgY29tcGFyZVZlcnNpb25zKFtyZXN1bHQudmVyc2lvbiwgJzYuMCddKSA9PT0gMSkgfHxcbiAgICAgICAgKHJlc3VsdC5mb2N1cyAmJiBjb21wYXJlVmVyc2lvbnMoW3Jlc3VsdC52ZXJzaW9uLCAnMS4wJ10pID09PSAxKSB8fFxuICAgICAgICAocmVzdWx0LmZpcmVmb3ggJiYgcmVzdWx0LnZlcnNpb24gPj0gMjAuMCkgfHxcbiAgICAgICAgKHJlc3VsdC5zYWZhcmkgJiYgcmVzdWx0LnZlcnNpb24gPj0gNikgfHxcbiAgICAgICAgKHJlc3VsdC5vcGVyYSAmJiByZXN1bHQudmVyc2lvbiA+PSAxMC4wKSB8fFxuICAgICAgICAocmVzdWx0LmlvcyAmJiByZXN1bHQub3N2ZXJzaW9uICYmIHJlc3VsdC5vc3ZlcnNpb24uc3BsaXQoXCIuXCIpWzBdID49IDYpIHx8XG4gICAgICAgIChyZXN1bHQuYmxhY2tiZXJyeSAmJiByZXN1bHQudmVyc2lvbiA+PSAxMC4xKVxuICAgICAgICB8fCAocmVzdWx0LmNocm9taXVtICYmIHJlc3VsdC52ZXJzaW9uID49IDIwKVxuICAgICAgICApIHtcbiAgICAgIHJlc3VsdC5hID0gdDtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHJlc3VsdC5tc2llICYmIHJlc3VsdC52ZXJzaW9uIDwgMTApIHx8XG4gICAgICAgIChyZXN1bHQuY2hyb21lICYmIHJlc3VsdC52ZXJzaW9uIDwgMjApIHx8XG4gICAgICAgIChyZXN1bHQuZmlyZWZveCAmJiByZXN1bHQudmVyc2lvbiA8IDIwLjApIHx8XG4gICAgICAgIChyZXN1bHQuc2FmYXJpICYmIHJlc3VsdC52ZXJzaW9uIDwgNikgfHxcbiAgICAgICAgKHJlc3VsdC5vcGVyYSAmJiByZXN1bHQudmVyc2lvbiA8IDEwLjApIHx8XG4gICAgICAgIChyZXN1bHQuaW9zICYmIHJlc3VsdC5vc3ZlcnNpb24gJiYgcmVzdWx0Lm9zdmVyc2lvbi5zcGxpdChcIi5cIilbMF0gPCA2KVxuICAgICAgICB8fCAocmVzdWx0LmNocm9taXVtICYmIHJlc3VsdC52ZXJzaW9uIDwgMjApXG4gICAgICAgICkge1xuICAgICAgcmVzdWx0LmMgPSB0XG4gICAgfSBlbHNlIHJlc3VsdC54ID0gdFxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgdmFyIGJvd3NlciA9IGRldGVjdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyA/IG5hdmlnYXRvci51c2VyQWdlbnQgfHwgJycgOiAnJylcblxuICBib3dzZXIudGVzdCA9IGZ1bmN0aW9uIChicm93c2VyTGlzdCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJvd3Nlckxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBicm93c2VySXRlbSA9IGJyb3dzZXJMaXN0W2ldO1xuICAgICAgaWYgKHR5cGVvZiBicm93c2VySXRlbT09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoYnJvd3Nlckl0ZW0gaW4gYm93c2VyKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2ZXJzaW9uIHByZWNpc2lvbnMgY291bnRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogICBnZXRWZXJzaW9uUHJlY2lzaW9uKFwiMS4xMC4zXCIpIC8vIDNcbiAgICpcbiAgICogQHBhcmFtICB7c3RyaW5nfSB2ZXJzaW9uXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGZ1bmN0aW9uIGdldFZlcnNpb25QcmVjaXNpb24odmVyc2lvbikge1xuICAgIHJldHVybiB2ZXJzaW9uLnNwbGl0KFwiLlwiKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQXJyYXk6Om1hcCBwb2x5ZmlsbFxuICAgKlxuICAgKiBAcGFyYW0gIHtBcnJheX0gYXJyXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBpdGVyYXRvclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGZ1bmN0aW9uIG1hcChhcnIsIGl0ZXJhdG9yKSB7XG4gICAgdmFyIHJlc3VsdCA9IFtdLCBpO1xuICAgIGlmIChBcnJheS5wcm90b3R5cGUubWFwKSB7XG4gICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyciwgaXRlcmF0b3IpO1xuICAgIH1cbiAgICBmb3IgKGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVyYXRvcihhcnJbaV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgYnJvd3NlciB2ZXJzaW9uIHdlaWdodFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAgIGNvbXBhcmVWZXJzaW9ucyhbJzEuMTAuMi4xJywgICcxLjguMi4xLjkwJ10pICAgIC8vIDFcbiAgICogICBjb21wYXJlVmVyc2lvbnMoWycxLjAxMC4yLjEnLCAnMS4wOS4yLjEuOTAnXSk7ICAvLyAxXG4gICAqICAgY29tcGFyZVZlcnNpb25zKFsnMS4xMC4yLjEnLCAgJzEuMTAuMi4xJ10pOyAgICAgLy8gMFxuICAgKiAgIGNvbXBhcmVWZXJzaW9ucyhbJzEuMTAuMi4xJywgICcxLjA4MDAuMiddKTsgICAgIC8vIC0xXG4gICAqXG4gICAqIEBwYXJhbSAge0FycmF5PFN0cmluZz59IHZlcnNpb25zIHZlcnNpb25zIHRvIGNvbXBhcmVcbiAgICogQHJldHVybiB7TnVtYmVyfSBjb21wYXJpc29uIHJlc3VsdFxuICAgKi9cbiAgZnVuY3Rpb24gY29tcGFyZVZlcnNpb25zKHZlcnNpb25zKSB7XG4gICAgLy8gMSkgZ2V0IGNvbW1vbiBwcmVjaXNpb24gZm9yIGJvdGggdmVyc2lvbnMsIGZvciBleGFtcGxlIGZvciBcIjEwLjBcIiBhbmQgXCI5XCIgaXQgc2hvdWxkIGJlIDJcbiAgICB2YXIgcHJlY2lzaW9uID0gTWF0aC5tYXgoZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uc1swXSksIGdldFZlcnNpb25QcmVjaXNpb24odmVyc2lvbnNbMV0pKTtcbiAgICB2YXIgY2h1bmtzID0gbWFwKHZlcnNpb25zLCBmdW5jdGlvbiAodmVyc2lvbikge1xuICAgICAgdmFyIGRlbHRhID0gcHJlY2lzaW9uIC0gZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uKTtcblxuICAgICAgLy8gMikgXCI5XCIgLT4gXCI5LjBcIiAoZm9yIHByZWNpc2lvbiA9IDIpXG4gICAgICB2ZXJzaW9uID0gdmVyc2lvbiArIG5ldyBBcnJheShkZWx0YSArIDEpLmpvaW4oXCIuMFwiKTtcblxuICAgICAgLy8gMykgXCI5LjBcIiAtPiBbXCIwMDAwMDAwMDBcIlwiLCBcIjAwMDAwMDAwOVwiXVxuICAgICAgcmV0dXJuIG1hcCh2ZXJzaW9uLnNwbGl0KFwiLlwiKSwgZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgICAgIHJldHVybiBuZXcgQXJyYXkoMjAgLSBjaHVuay5sZW5ndGgpLmpvaW4oXCIwXCIpICsgY2h1bms7XG4gICAgICB9KS5yZXZlcnNlKCk7XG4gICAgfSk7XG5cbiAgICAvLyBpdGVyYXRlIGluIHJldmVyc2Ugb3JkZXIgYnkgcmV2ZXJzZWQgY2h1bmtzIGFycmF5XG4gICAgd2hpbGUgKC0tcHJlY2lzaW9uID49IDApIHtcbiAgICAgIC8vIDQpIGNvbXBhcmU6IFwiMDAwMDAwMDA5XCIgPiBcIjAwMDAwMDAxMFwiID0gZmFsc2UgKGJ1dCBcIjlcIiA+IFwiMTBcIiA9IHRydWUpXG4gICAgICBpZiAoY2h1bmtzWzBdW3ByZWNpc2lvbl0gPiBjaHVua3NbMV1bcHJlY2lzaW9uXSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGNodW5rc1swXVtwcmVjaXNpb25dID09PSBjaHVua3NbMV1bcHJlY2lzaW9uXSkge1xuICAgICAgICBpZiAocHJlY2lzaW9uID09PSAwKSB7XG4gICAgICAgICAgLy8gYWxsIHZlcnNpb24gY2h1bmtzIGFyZSBzYW1lXG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJyb3dzZXIgaXMgdW5zdXBwb3J0ZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogICBib3dzZXIuaXNVbnN1cHBvcnRlZEJyb3dzZXIoe1xuICAgKiAgICAgbXNpZTogXCIxMFwiLFxuICAgKiAgICAgZmlyZWZveDogXCIyM1wiLFxuICAgKiAgICAgY2hyb21lOiBcIjI5XCIsXG4gICAqICAgICBzYWZhcmk6IFwiNS4xXCIsXG4gICAqICAgICBvcGVyYTogXCIxNlwiLFxuICAgKiAgICAgcGhhbnRvbTogXCI1MzRcIlxuICAgKiAgIH0pO1xuICAgKlxuICAgKiBAcGFyYW0gIHtPYmplY3R9ICBtaW5WZXJzaW9ucyBtYXAgb2YgbWluaW1hbCB2ZXJzaW9uIHRvIGJyb3dzZXJcbiAgICogQHBhcmFtICB7Qm9vbGVhbn0gW3N0cmljdE1vZGUgPSBmYWxzZV0gZmxhZyB0byByZXR1cm4gZmFsc2UgaWYgYnJvd3NlciB3YXNuJ3QgZm91bmQgaW4gbWFwXG4gICAqIEBwYXJhbSAge1N0cmluZ30gIFt1YV0gdXNlciBhZ2VudCBzdHJpbmdcbiAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICovXG4gIGZ1bmN0aW9uIGlzVW5zdXBwb3J0ZWRCcm93c2VyKG1pblZlcnNpb25zLCBzdHJpY3RNb2RlLCB1YSkge1xuICAgIHZhciBfYm93c2VyID0gYm93c2VyO1xuXG4gICAgLy8gbWFrZSBzdHJpY3RNb2RlIHBhcmFtIG9wdGlvbmFsIHdpdGggdWEgcGFyYW0gdXNhZ2VcbiAgICBpZiAodHlwZW9mIHN0cmljdE1vZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1YSA9IHN0cmljdE1vZGU7XG4gICAgICBzdHJpY3RNb2RlID0gdm9pZCgwKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyaWN0TW9kZSA9PT0gdm9pZCgwKSkge1xuICAgICAgc3RyaWN0TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodWEpIHtcbiAgICAgIF9ib3dzZXIgPSBkZXRlY3QodWEpO1xuICAgIH1cblxuICAgIHZhciB2ZXJzaW9uID0gXCJcIiArIF9ib3dzZXIudmVyc2lvbjtcbiAgICBmb3IgKHZhciBicm93c2VyIGluIG1pblZlcnNpb25zKSB7XG4gICAgICBpZiAobWluVmVyc2lvbnMuaGFzT3duUHJvcGVydHkoYnJvd3NlcikpIHtcbiAgICAgICAgaWYgKF9ib3dzZXJbYnJvd3Nlcl0pIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG1pblZlcnNpb25zW2Jyb3dzZXJdICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCcm93c2VyIHZlcnNpb24gaW4gdGhlIG1pblZlcnNpb24gbWFwIHNob3VsZCBiZSBhIHN0cmluZzogJyArIGJyb3dzZXIgKyAnOiAnICsgU3RyaW5nKG1pblZlcnNpb25zKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gYnJvd3NlciB2ZXJzaW9uIGFuZCBtaW4gc3VwcG9ydGVkIHZlcnNpb24uXG4gICAgICAgICAgcmV0dXJuIGNvbXBhcmVWZXJzaW9ucyhbdmVyc2lvbiwgbWluVmVyc2lvbnNbYnJvd3Nlcl1dKSA8IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaWN0TW9kZTsgLy8gbm90IGZvdW5kXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYnJvd3NlciBpcyBzdXBwb3J0ZWRcbiAgICpcbiAgICogQHBhcmFtICB7T2JqZWN0fSBtaW5WZXJzaW9ucyBtYXAgb2YgbWluaW1hbCB2ZXJzaW9uIHRvIGJyb3dzZXJcbiAgICogQHBhcmFtICB7Qm9vbGVhbn0gW3N0cmljdE1vZGUgPSBmYWxzZV0gZmxhZyB0byByZXR1cm4gZmFsc2UgaWYgYnJvd3NlciB3YXNuJ3QgZm91bmQgaW4gbWFwXG4gICAqIEBwYXJhbSAge1N0cmluZ30gIFt1YV0gdXNlciBhZ2VudCBzdHJpbmdcbiAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICovXG4gIGZ1bmN0aW9uIGNoZWNrKG1pblZlcnNpb25zLCBzdHJpY3RNb2RlLCB1YSkge1xuICAgIHJldHVybiAhaXNVbnN1cHBvcnRlZEJyb3dzZXIobWluVmVyc2lvbnMsIHN0cmljdE1vZGUsIHVhKTtcbiAgfVxuXG4gIGJvd3Nlci5pc1Vuc3VwcG9ydGVkQnJvd3NlciA9IGlzVW5zdXBwb3J0ZWRCcm93c2VyO1xuICBib3dzZXIuY29tcGFyZVZlcnNpb25zID0gY29tcGFyZVZlcnNpb25zO1xuICBib3dzZXIuY2hlY2sgPSBjaGVjaztcblxuICAvKlxuICAgKiBTZXQgb3VyIGRldGVjdCBtZXRob2QgdG8gdGhlIG1haW4gYm93c2VyIG9iamVjdCBzbyB3ZSBjYW5cbiAgICogcmV1c2UgaXQgdG8gdGVzdCBvdGhlciB1c2VyIGFnZW50cy5cbiAgICogVGhpcyBpcyBuZWVkZWQgdG8gaW1wbGVtZW50IGZ1dHVyZSB0ZXN0cy5cbiAgICovXG4gIGJvd3Nlci5fZGV0ZWN0ID0gZGV0ZWN0O1xuXG4gIC8qXG4gICAqIFNldCBvdXIgZGV0ZWN0IHB1YmxpYyBtZXRob2QgdG8gdGhlIG1haW4gYm93c2VyIG9iamVjdFxuICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbXBsZW1lbnQgYm93c2VyIGluIHNlcnZlciBzaWRlXG4gICAqL1xuICBib3dzZXIuZGV0ZWN0ID0gZGV0ZWN0O1xuICByZXR1cm4gYm93c2VyXG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/bowser/src/bowser.js\n"); /***/ }), @@ -167,42 +167,6 @@ eval("var __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2015 Jed Watson.\n /***/ }), -/***/ "./node_modules/fbjs/lib/emptyFunction.js": -/*!************************************************!*\ - !*** ./node_modules/fbjs/lib/emptyFunction.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2VtcHR5RnVuY3Rpb24uanM/YTIxMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5cbmZ1bmN0aW9uIG1ha2VFbXB0eUZ1bmN0aW9uKGFyZykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBhcmc7XG4gIH07XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuZCBkaXNjYXJkcyBpbnB1dHM7IGl0IGhhcyBubyBzaWRlIGVmZmVjdHMuIFRoaXMgaXNcbiAqIHByaW1hcmlseSB1c2VmdWwgaWRpb21hdGljYWxseSBmb3Igb3ZlcnJpZGFibGUgZnVuY3Rpb24gZW5kcG9pbnRzIHdoaWNoXG4gKiBhbHdheXMgbmVlZCB0byBiZSBjYWxsYWJsZSwgc2luY2UgSlMgbGFja3MgYSBudWxsLWNhbGwgaWRpb20gYWxhIENvY29hLlxuICovXG52YXIgZW1wdHlGdW5jdGlvbiA9IGZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fTtcblxuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJucyA9IG1ha2VFbXB0eUZ1bmN0aW9uO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0ZhbHNlID0gbWFrZUVtcHR5RnVuY3Rpb24oZmFsc2UpO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc1RydWUgPSBtYWtlRW1wdHlGdW5jdGlvbih0cnVlKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsID0gbWFrZUVtcHR5RnVuY3Rpb24obnVsbCk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVGhpcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXM7XG59O1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0FyZ3VtZW50ID0gZnVuY3Rpb24gKGFyZykge1xuICByZXR1cm4gYXJnO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBlbXB0eUZ1bmN0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/emptyFunction.js\n"); - -/***/ }), - -/***/ "./node_modules/fbjs/lib/invariant.js": -/*!********************************************!*\ - !*** ./node_modules/fbjs/lib/invariant.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2ZianMvbGliL2ludmFyaWFudC5qcz9kOGRiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFVzZSBpbnZhcmlhbnQoKSB0byBhc3NlcnQgc3RhdGUgd2hpY2ggeW91ciBwcm9ncmFtIGFzc3VtZXMgdG8gYmUgdHJ1ZS5cbiAqXG4gKiBQcm92aWRlIHNwcmludGYtc3R5bGUgZm9ybWF0IChvbmx5ICVzIGlzIHN1cHBvcnRlZCkgYW5kIGFyZ3VtZW50c1xuICogdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGJyb2tlIGFuZCB3aGF0IHlvdSB3ZXJlXG4gKiBleHBlY3RpbmcuXG4gKlxuICogVGhlIGludmFyaWFudCBtZXNzYWdlIHdpbGwgYmUgc3RyaXBwZWQgaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBpbnZhcmlhbnRcbiAqIHdpbGwgcmVtYWluIHRvIGVuc3VyZSBsb2dpYyBkb2VzIG5vdCBkaWZmZXIgaW4gcHJvZHVjdGlvbi5cbiAqL1xuXG52YXIgdmFsaWRhdGVGb3JtYXQgPSBmdW5jdGlvbiB2YWxpZGF0ZUZvcm1hdChmb3JtYXQpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgcmVxdWlyZXMgYW4gZXJyb3IgbWVzc2FnZSBhcmd1bWVudCcpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW52YXJpYW50KGNvbmRpdGlvbiwgZm9ybWF0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCk7XG5cbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB2YXIgZXJyb3I7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJncyA9IFthLCBiLCBjLCBkLCBlLCBmXTtcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGludmFyaWFudCdzIG93biBmcmFtZVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/invariant.js\n"); - -/***/ }), - -/***/ "./node_modules/fbjs/lib/warning.js": -/*!******************************************!*\ - !*** ./node_modules/fbjs/lib/warning.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (true) {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2ZianMvbGliL3dhcm5pbmcuanM/ZGE2NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYixvQkFBb0IsbUJBQU8sQ0FBQyxpRUFBaUI7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxJQUFJLElBQXFDO0FBQ3pDO0FBQ0Esc0ZBQXNGLGFBQWE7QUFDbkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBLDRGQUE0RixlQUFlO0FBQzNHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmJqcy9saWIvd2FybmluZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCcuL2VtcHR5RnVuY3Rpb24nKTtcblxuLyoqXG4gKiBTaW1pbGFyIHRvIGludmFyaWFudCBidXQgb25seSBsb2dzIGEgd2FybmluZyBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGxvZyBpc3N1ZXMgaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzIGluIGNyaXRpY2FsXG4gKiBwYXRocy4gUmVtb3ZpbmcgdGhlIGxvZ2dpbmcgY29kZSBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2lsbCBrZWVwIHRoZVxuICogc2FtZSBsb2dpYyBhbmQgZm9sbG93IHRoZSBzYW1lIGNvZGUgcGF0aHMuXG4gKi9cblxudmFyIHdhcm5pbmcgPSBlbXB0eUZ1bmN0aW9uO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGZvcm1hdCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG5cbiAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArICdtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdGYWlsZWQgQ29tcG9zaXRlIHByb3BUeXBlOiAnKSA9PT0gMCkge1xuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgQ29tcG9zaXRlQ29tcG9uZW50IHByb3B0eXBlIGNoZWNrLlxuICAgIH1cblxuICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiA+IDIgPyBfbGVuMiAtIDIgOiAwKSwgX2tleTIgPSAyOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZy5hcHBseSh1bmRlZmluZWQsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fbjs/lib/warning.js\n"); - -/***/ }), - /***/ "./node_modules/flux-standard-action/lib/index.js": /*!********************************************************!*\ !*** ./node_modules/flux-standard-action/lib/index.js ***! @@ -215,15 +179,15 @@ eval("\n\nexports.__esModule = true;\nexports.isFSA = isFSA;\nexports.isError = /***/ }), -/***/ "./node_modules/hoist-non-react-statics/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/hoist-non-react-statics/index.js ***! - \*******************************************************/ +/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! + \**********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n arguments: true,\n arity: true\n};\n\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n\n /* istanbul ignore else */\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {\n\n }\n }\n }\n }\n\n return targetComponent;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2luZGV4LmpzP2ZjYjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVCQUF1QixpQkFBaUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28hIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUkVBQ1RfU1RBVElDUyA9IHtcbiAgICBjaGlsZENvbnRleHRUeXBlczogdHJ1ZSxcbiAgICBjb250ZXh0VHlwZXM6IHRydWUsXG4gICAgZGVmYXVsdFByb3BzOiB0cnVlLFxuICAgIGRpc3BsYXlOYW1lOiB0cnVlLFxuICAgIGdldERlZmF1bHRQcm9wczogdHJ1ZSxcbiAgICBtaXhpbnM6IHRydWUsXG4gICAgcHJvcFR5cGVzOiB0cnVlLFxuICAgIHR5cGU6IHRydWVcbn07XG5cbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICAgIG5hbWU6IHRydWUsXG4gICAgbGVuZ3RoOiB0cnVlLFxuICAgIHByb3RvdHlwZTogdHJ1ZSxcbiAgICBjYWxsZXI6IHRydWUsXG4gICAgYXJndW1lbnRzOiB0cnVlLFxuICAgIGFyaXR5OiB0cnVlXG59O1xuXG52YXIgaXNHZXRPd25Qcm9wZXJ0eVN5bWJvbHNBdmFpbGFibGUgPSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIHNvdXJjZUNvbXBvbmVudCwgY3VzdG9tU3RhdGljcykge1xuICAgIGlmICh0eXBlb2Ygc291cmNlQ29tcG9uZW50ICE9PSAnc3RyaW5nJykgeyAvLyBkb24ndCBob2lzdCBvdmVyIHN0cmluZyAoaHRtbCkgY29tcG9uZW50c1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGlzR2V0T3duUHJvcGVydHlTeW1ib2xzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBrZXlzID0ga2V5cy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2VDb21wb25lbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgaWYgKCFSRUFDVF9TVEFUSUNTW2tleXNbaV1dICYmICFLTk9XTl9TVEFUSUNTW2tleXNbaV1dICYmICghY3VzdG9tU3RhdGljcyB8fCAhY3VzdG9tU3RhdGljc1trZXlzW2ldXSkpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRDb21wb25lbnRba2V5c1tpXV0gPSBzb3VyY2VDb21wb25lbnRba2V5c1tpXV07XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRDb21wb25lbnQ7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/hoist-non-react-statics/index.js\n"); +eval("\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2Rpc3QvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MuY2pzLmpzP2RhNmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLGlCQUFpQjtBQUN4QztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MvZGlzdC9ob2lzdC1ub24tcmVhY3Qtc3RhdGljcy5janMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUsIFlhaG9vISBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbnZhciBSRUFDVF9TVEFUSUNTID0ge1xuICAgIGNoaWxkQ29udGV4dFR5cGVzOiB0cnVlLFxuICAgIGNvbnRleHRUeXBlczogdHJ1ZSxcbiAgICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gICAgZGlzcGxheU5hbWU6IHRydWUsXG4gICAgZ2V0RGVmYXVsdFByb3BzOiB0cnVlLFxuICAgIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczogdHJ1ZSxcbiAgICBtaXhpbnM6IHRydWUsXG4gICAgcHJvcFR5cGVzOiB0cnVlLFxuICAgIHR5cGU6IHRydWVcbn07XG5cbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICAgIG5hbWU6IHRydWUsXG4gICAgbGVuZ3RoOiB0cnVlLFxuICAgIHByb3RvdHlwZTogdHJ1ZSxcbiAgICBjYWxsZXI6IHRydWUsXG4gICAgY2FsbGVlOiB0cnVlLFxuICAgIGFyZ3VtZW50czogdHJ1ZSxcbiAgICBhcml0eTogdHJ1ZVxufTtcblxudmFyIGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIGdldE93blByb3BlcnR5TmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgb2JqZWN0UHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YgJiYgZ2V0UHJvdG90eXBlT2YoT2JqZWN0KTtcblxuZnVuY3Rpb24gaG9pc3ROb25SZWFjdFN0YXRpY3ModGFyZ2V0Q29tcG9uZW50LCBzb3VyY2VDb21wb25lbnQsIGJsYWNrbGlzdCkge1xuICAgIGlmICh0eXBlb2Ygc291cmNlQ29tcG9uZW50ICE9PSAnc3RyaW5nJykgeyAvLyBkb24ndCBob2lzdCBvdmVyIHN0cmluZyAoaHRtbCkgY29tcG9uZW50c1xuXG4gICAgICAgIGlmIChvYmplY3RQcm90b3R5cGUpIHtcbiAgICAgICAgICAgIHZhciBpbmhlcml0ZWRDb21wb25lbnQgPSBnZXRQcm90b3R5cGVPZihzb3VyY2VDb21wb25lbnQpO1xuICAgICAgICAgICAgaWYgKGluaGVyaXRlZENvbXBvbmVudCAmJiBpbmhlcml0ZWRDb21wb25lbnQgIT09IG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgICAgICAgICAgIGhvaXN0Tm9uUmVhY3RTdGF0aWNzKHRhcmdldENvbXBvbmVudCwgaW5oZXJpdGVkQ29tcG9uZW50LCBibGFja2xpc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGtleXMgPSBnZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICAgICAgaWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICAgICAga2V5cyA9IGtleXMuY29uY2F0KGdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2VDb21wb25lbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICBpZiAoIVJFQUNUX1NUQVRJQ1Nba2V5XSAmJiAhS05PV05fU1RBVElDU1trZXldICYmICghYmxhY2tsaXN0IHx8ICFibGFja2xpc3Rba2V5XSkpIHtcbiAgICAgICAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2VDb21wb25lbnQsIGtleSk7XG4gICAgICAgICAgICAgICAgdHJ5IHsgLy8gQXZvaWQgZmFpbHVyZXMgZnJvbSByZWFkLW9ubHkgcHJvcGVydGllc1xuICAgICAgICAgICAgICAgICAgICBkZWZpbmVQcm9wZXJ0eSh0YXJnZXRDb21wb25lbnQsIGtleSwgZGVzY3JpcHRvcik7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXRDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldENvbXBvbmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBob2lzdE5vblJlYWN0U3RhdGljcztcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\n"); /***/ }), @@ -247,7 +211,7 @@ eval("\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = __webpack_require__(/*! ../utils/getBrowserInformation */ \"./node_modules/inline-style-prefixer/utils/getBrowserInformation.js\");\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = __webpack_require__(/*! ../utils/getPrefixedKeyframes */ \"./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js\");\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = __webpack_require__(/*! ../utils/capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ \"./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js\");\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = __webpack_require__(/*! ../utils/isObject */ \"./node_modules/inline-style-prefixer/utils/isObject.js\");\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ \"./node_modules/inline-style-prefixer/utils/prefixValue.js\");\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== \"undefined\" ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: \"prefix\",\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: \"_prefixStyle\",\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: \"prefixAll\",\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL2NyZWF0ZVByZWZpeGVyLmpzP2VhMDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7O0FBRUQsZ0NBQWdDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFampCOztBQUVBLDZCQUE2QixtQkFBTyxDQUFDLDJHQUFnQzs7QUFFckU7O0FBRUEsNEJBQTRCLG1CQUFPLENBQUMseUdBQStCOztBQUVuRTs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxpR0FBMkI7O0FBRTNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLGlHQUEyQjs7QUFFM0Q7O0FBRUEsZ0JBQWdCLG1CQUFPLENBQUMsaUZBQW1COztBQUUzQzs7QUFFQSxtQkFBbUIsbUJBQU8sQ0FBQyx1RkFBc0I7O0FBRWpEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBLCtDQUErQyxTQUFTO0FBQ3hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQixPQUFPO0FBQ3ZCLGtCQUFrQixPQUFPO0FBQ3pCOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9jcmVhdGVQcmVmaXhlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBjcmVhdGVQcmVmaXhlcjtcblxudmFyIF9nZXRCcm93c2VySW5mb3JtYXRpb24gPSByZXF1aXJlKFwiLi4vdXRpbHMvZ2V0QnJvd3NlckluZm9ybWF0aW9uXCIpO1xuXG52YXIgX2dldEJyb3dzZXJJbmZvcm1hdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRCcm93c2VySW5mb3JtYXRpb24pO1xuXG52YXIgX2dldFByZWZpeGVkS2V5ZnJhbWVzID0gcmVxdWlyZShcIi4uL3V0aWxzL2dldFByZWZpeGVkS2V5ZnJhbWVzXCIpO1xuXG52YXIgX2dldFByZWZpeGVkS2V5ZnJhbWVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkS2V5ZnJhbWVzKTtcblxudmFyIF9jYXBpdGFsaXplU3RyaW5nID0gcmVxdWlyZShcIi4uL3V0aWxzL2NhcGl0YWxpemVTdHJpbmdcIik7XG5cbnZhciBfY2FwaXRhbGl6ZVN0cmluZzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jYXBpdGFsaXplU3RyaW5nKTtcblxudmFyIF9hZGROZXdWYWx1ZXNPbmx5ID0gcmVxdWlyZShcIi4uL3V0aWxzL2FkZE5ld1ZhbHVlc09ubHlcIik7XG5cbnZhciBfYWRkTmV3VmFsdWVzT25seTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hZGROZXdWYWx1ZXNPbmx5KTtcblxudmFyIF9pc09iamVjdCA9IHJlcXVpcmUoXCIuLi91dGlscy9pc09iamVjdFwiKTtcblxudmFyIF9pc09iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc09iamVjdCk7XG5cbnZhciBfcHJlZml4VmFsdWUgPSByZXF1aXJlKFwiLi4vdXRpbHMvcHJlZml4VmFsdWVcIik7XG5cbnZhciBfcHJlZml4VmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4VmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBjcmVhdGVQcmVmaXhlcihfcmVmKSB7XG4gIHZhciBwcmVmaXhNYXAgPSBfcmVmLnByZWZpeE1hcCxcbiAgICAgIHBsdWdpbnMgPSBfcmVmLnBsdWdpbnM7XG4gIHZhciBmYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZnVuY3Rpb24gKHN0eWxlKSB7XG4gICAgcmV0dXJuIHN0eWxlO1xuICB9O1xuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLyoqXG4gICAgKiBJbnN0YW50aWFudGUgYSBuZXcgcHJlZml4ZXJcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyQWdlbnQgLSB1c2VyQWdlbnQgdG8gZ2F0aGVyIHByZWZpeCBpbmZvcm1hdGlvbiBhY2NvcmRpbmcgdG8gY2FuaXVzZS5jb21cbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZWVwVW5wcmVmaXhlZCAtIGtlZXBzIHVucHJlZml4ZWQgcHJvcGVydGllcyBhbmQgdmFsdWVzXG4gICAgKi9cbiAgICBmdW5jdGlvbiBQcmVmaXhlcigpIHtcbiAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFByZWZpeGVyKTtcblxuICAgICAgdmFyIGRlZmF1bHRVc2VyQWdlbnQgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiID8gbmF2aWdhdG9yLnVzZXJBZ2VudCA6IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy5fdXNlckFnZW50ID0gb3B0aW9ucy51c2VyQWdlbnQgfHwgZGVmYXVsdFVzZXJBZ2VudDtcbiAgICAgIHRoaXMuX2tlZXBVbnByZWZpeGVkID0gb3B0aW9ucy5rZWVwVW5wcmVmaXhlZCB8fCBmYWxzZTtcblxuICAgICAgaWYgKHRoaXMuX3VzZXJBZ2VudCkge1xuICAgICAgICB0aGlzLl9icm93c2VySW5mbyA9ICgwLCBfZ2V0QnJvd3NlckluZm9ybWF0aW9uMi5kZWZhdWx0KSh0aGlzLl91c2VyQWdlbnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVja3MgaWYgdGhlIHVzZXJBZ2VudCB3YXMgcmVzb2x2ZWQgY29ycmVjdGx5XG4gICAgICBpZiAodGhpcy5fYnJvd3NlckluZm8gJiYgdGhpcy5fYnJvd3NlckluZm8uY3NzUHJlZml4KSB7XG4gICAgICAgIHRoaXMucHJlZml4ZWRLZXlmcmFtZXMgPSAoMCwgX2dldFByZWZpeGVkS2V5ZnJhbWVzMi5kZWZhdWx0KSh0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSwgdGhpcy5fYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24sIHRoaXMuX2Jyb3dzZXJJbmZvLmNzc1ByZWZpeCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl91c2VGYWxsYmFjayA9IHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByZWZpeERhdGEgPSB0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSAmJiBwcmVmaXhNYXBbdGhpcy5fYnJvd3NlckluZm8uYnJvd3Nlck5hbWVdO1xuICAgICAgaWYgKHByZWZpeERhdGEpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZXNQcmVmaXggPSB7fTtcblxuICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBwcmVmaXhEYXRhKSB7XG4gICAgICAgICAgaWYgKHByZWZpeERhdGFbcHJvcGVydHldID49IHRoaXMuX2Jyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlc1ByZWZpeFtwcm9wZXJ0eV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hhc1Byb3BzUmVxdWlyaW5nUHJlZml4ID0gT2JqZWN0LmtleXModGhpcy5fcmVxdWlyZXNQcmVmaXgpLmxlbmd0aCA+IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl91c2VGYWxsYmFjayA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX21ldGFEYXRhID0ge1xuICAgICAgICBicm93c2VyVmVyc2lvbjogdGhpcy5fYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24sXG4gICAgICAgIGJyb3dzZXJOYW1lOiB0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSxcbiAgICAgICAgY3NzUHJlZml4OiB0aGlzLl9icm93c2VySW5mby5jc3NQcmVmaXgsXG4gICAgICAgIGpzUHJlZml4OiB0aGlzLl9icm93c2VySW5mby5qc1ByZWZpeCxcbiAgICAgICAga2VlcFVucHJlZml4ZWQ6IHRoaXMuX2tlZXBVbnByZWZpeGVkLFxuICAgICAgICByZXF1aXJlc1ByZWZpeDogdGhpcy5fcmVxdWlyZXNQcmVmaXhcbiAgICAgIH07XG4gICAgfVxuXG4gICAgX2NyZWF0ZUNsYXNzKFByZWZpeGVyLCBbe1xuICAgICAga2V5OiBcInByZWZpeFwiLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIHByZWZpeChzdHlsZSkge1xuICAgICAgICAvLyB1c2Ugc3RhdGljIHByZWZpeGVyIGFzIGZhbGxiYWNrIGlmIHVzZXJBZ2VudCBjYW4gbm90IGJlIHJlc29sdmVkXG4gICAgICAgIGlmICh0aGlzLl91c2VGYWxsYmFjaykge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFjayhzdHlsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvbmx5IGFkZCBwcmVmaXhlcyBpZiBuZWVkZWRcbiAgICAgICAgaWYgKCF0aGlzLl9oYXNQcm9wc1JlcXVpcmluZ1ByZWZpeCkge1xuICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVmaXhTdHlsZShzdHlsZSk7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIl9wcmVmaXhTdHlsZVwiLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcmVmaXhTdHlsZShzdHlsZSkge1xuICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzdHlsZSkge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IHN0eWxlW3Byb3BlcnR5XTtcblxuICAgICAgICAgIC8vIGhhbmRsZSBuZXN0ZWQgb2JqZWN0c1xuICAgICAgICAgIGlmICgoMCwgX2lzT2JqZWN0Mi5kZWZhdWx0KSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHN0eWxlW3Byb3BlcnR5XSA9IHRoaXMucHJlZml4KHZhbHVlKTtcbiAgICAgICAgICAgIC8vIGhhbmRsZSBhcnJheSB2YWx1ZXNcbiAgICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YXIgY29tYmluZWRWYWx1ZSA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdmFsdWUubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgICAgICAgdmFyIHByb2Nlc3NlZFZhbHVlID0gKDAsIF9wcmVmaXhWYWx1ZTIuZGVmYXVsdCkocGx1Z2lucywgcHJvcGVydHksIHZhbHVlW2ldLCBzdHlsZSwgdGhpcy5fbWV0YURhdGEpO1xuICAgICAgICAgICAgICAoMCwgX2FkZE5ld1ZhbHVlc09ubHkyLmRlZmF1bHQpKGNvbWJpbmVkVmFsdWUsIHByb2Nlc3NlZFZhbHVlIHx8IHZhbHVlW2ldKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb25seSBtb2RpZnkgdGhlIHZhbHVlIGlmIGl0IHdhcyB0b3VjaGVkXG4gICAgICAgICAgICAvLyBieSBhbnkgcGx1Z2luIHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgbXV0YXRpb25zXG4gICAgICAgICAgICBpZiAoY29tYmluZWRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIHN0eWxlW3Byb3BlcnR5XSA9IGNvbWJpbmVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfcHJvY2Vzc2VkVmFsdWUgPSAoMCwgX3ByZWZpeFZhbHVlMi5kZWZhdWx0KShwbHVnaW5zLCBwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCB0aGlzLl9tZXRhRGF0YSk7XG5cbiAgICAgICAgICAgIC8vIG9ubHkgbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCB3YXMgdG91Y2hlZFxuICAgICAgICAgICAgLy8gYnkgYW55IHBsdWdpbiB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IG11dGF0aW9uc1xuICAgICAgICAgICAgaWYgKF9wcm9jZXNzZWRWYWx1ZSkge1xuICAgICAgICAgICAgICBzdHlsZVtwcm9wZXJ0eV0gPSBfcHJvY2Vzc2VkVmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBwcmVmaXhlcyB0byBwcm9wZXJ0aWVzXG4gICAgICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNQcmVmaXguaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgICAgICAgICAgIHN0eWxlW3RoaXMuX2Jyb3dzZXJJbmZvLmpzUHJlZml4ICsgKDAsIF9jYXBpdGFsaXplU3RyaW5nMi5kZWZhdWx0KShwcm9wZXJ0eSldID0gdmFsdWU7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5fa2VlcFVucHJlZml4ZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgc3R5bGVbcHJvcGVydHldO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICogUmV0dXJucyBhIHByZWZpeGVkIHZlcnNpb24gb2YgdGhlIHN0eWxlIG9iamVjdCB1c2luZyBhbGwgdmVuZG9yIHByZWZpeGVzXG4gICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzdHlsZXMgLSBTdHlsZSBvYmplY3QgdGhhdCBnZXRzIHByZWZpeGVkIHByb3BlcnRpZXMgYWRkZWRcbiAgICAgICogQHJldHVybnMge09iamVjdH0gLSBTdHlsZSBvYmplY3Qgd2l0aCBwcmVmaXhlZCBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXNcbiAgICAgICovXG5cbiAgICB9XSwgW3tcbiAgICAgIGtleTogXCJwcmVmaXhBbGxcIixcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBwcmVmaXhBbGwoc3R5bGVzKSB7XG4gICAgICAgIHJldHVybiBmYWxsYmFjayhzdHlsZXMpO1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBQcmVmaXhlcjtcbiAgfSgpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/createPrefixer.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = __webpack_require__(/*! ../utils/getBrowserInformation */ \"./node_modules/inline-style-prefixer/utils/getBrowserInformation.js\");\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = __webpack_require__(/*! ../utils/getPrefixedKeyframes */ \"./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js\");\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = __webpack_require__(/*! ../utils/capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ \"./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js\");\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = __webpack_require__(/*! ../utils/isObject */ \"./node_modules/inline-style-prefixer/utils/isObject.js\");\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ \"./node_modules/inline-style-prefixer/utils/prefixValue.js\");\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: 'prefix',\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: '_prefixStyle',\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: 'prefixAll',\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL2NyZWF0ZVByZWZpeGVyLmpzP2VhMDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7O0FBRUQsZ0NBQWdDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFampCOztBQUVBLDZCQUE2QixtQkFBTyxDQUFDLDJHQUFnQzs7QUFFckU7O0FBRUEsNEJBQTRCLG1CQUFPLENBQUMseUdBQStCOztBQUVuRTs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxpR0FBMkI7O0FBRTNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLGlHQUEyQjs7QUFFM0Q7O0FBRUEsZ0JBQWdCLG1CQUFPLENBQUMsaUZBQW1COztBQUUzQzs7QUFFQSxtQkFBbUIsbUJBQU8sQ0FBQyx1RkFBc0I7O0FBRWpEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBLCtDQUErQyxTQUFTO0FBQ3hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCLG1CQUFtQixPQUFPO0FBQzFCOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9jcmVhdGVQcmVmaXhlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gY3JlYXRlUHJlZml4ZXI7XG5cbnZhciBfZ2V0QnJvd3NlckluZm9ybWF0aW9uID0gcmVxdWlyZSgnLi4vdXRpbHMvZ2V0QnJvd3NlckluZm9ybWF0aW9uJyk7XG5cbnZhciBfZ2V0QnJvd3NlckluZm9ybWF0aW9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldEJyb3dzZXJJbmZvcm1hdGlvbik7XG5cbnZhciBfZ2V0UHJlZml4ZWRLZXlmcmFtZXMgPSByZXF1aXJlKCcuLi91dGlscy9nZXRQcmVmaXhlZEtleWZyYW1lcycpO1xuXG52YXIgX2dldFByZWZpeGVkS2V5ZnJhbWVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkS2V5ZnJhbWVzKTtcblxudmFyIF9jYXBpdGFsaXplU3RyaW5nID0gcmVxdWlyZSgnLi4vdXRpbHMvY2FwaXRhbGl6ZVN0cmluZycpO1xuXG52YXIgX2NhcGl0YWxpemVTdHJpbmcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2FwaXRhbGl6ZVN0cmluZyk7XG5cbnZhciBfYWRkTmV3VmFsdWVzT25seSA9IHJlcXVpcmUoJy4uL3V0aWxzL2FkZE5ld1ZhbHVlc09ubHknKTtcblxudmFyIF9hZGROZXdWYWx1ZXNPbmx5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2FkZE5ld1ZhbHVlc09ubHkpO1xuXG52YXIgX2lzT2JqZWN0ID0gcmVxdWlyZSgnLi4vdXRpbHMvaXNPYmplY3QnKTtcblxudmFyIF9pc09iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc09iamVjdCk7XG5cbnZhciBfcHJlZml4VmFsdWUgPSByZXF1aXJlKCcuLi91dGlscy9wcmVmaXhWYWx1ZScpO1xuXG52YXIgX3ByZWZpeFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gY3JlYXRlUHJlZml4ZXIoX3JlZikge1xuICB2YXIgcHJlZml4TWFwID0gX3JlZi5wcmVmaXhNYXAsXG4gICAgICBwbHVnaW5zID0gX3JlZi5wbHVnaW5zO1xuICB2YXIgZmFsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZ1bmN0aW9uIChzdHlsZSkge1xuICAgIHJldHVybiBzdHlsZTtcbiAgfTtcblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIC8qKlxuICAgICAqIEluc3RhbnRpYW50ZSBhIG5ldyBwcmVmaXhlclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyQWdlbnQgLSB1c2VyQWdlbnQgdG8gZ2F0aGVyIHByZWZpeCBpbmZvcm1hdGlvbiBhY2NvcmRpbmcgdG8gY2FuaXVzZS5jb21cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2VlcFVucHJlZml4ZWQgLSBrZWVwcyB1bnByZWZpeGVkIHByb3BlcnRpZXMgYW5kIHZhbHVlc1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIFByZWZpeGVyKCkge1xuICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUHJlZml4ZXIpO1xuXG4gICAgICB2YXIgZGVmYXVsdFVzZXJBZ2VudCA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnID8gbmF2aWdhdG9yLnVzZXJBZ2VudCA6IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy5fdXNlckFnZW50ID0gb3B0aW9ucy51c2VyQWdlbnQgfHwgZGVmYXVsdFVzZXJBZ2VudDtcbiAgICAgIHRoaXMuX2tlZXBVbnByZWZpeGVkID0gb3B0aW9ucy5rZWVwVW5wcmVmaXhlZCB8fCBmYWxzZTtcblxuICAgICAgaWYgKHRoaXMuX3VzZXJBZ2VudCkge1xuICAgICAgICB0aGlzLl9icm93c2VySW5mbyA9ICgwLCBfZ2V0QnJvd3NlckluZm9ybWF0aW9uMi5kZWZhdWx0KSh0aGlzLl91c2VyQWdlbnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVja3MgaWYgdGhlIHVzZXJBZ2VudCB3YXMgcmVzb2x2ZWQgY29ycmVjdGx5XG4gICAgICBpZiAodGhpcy5fYnJvd3NlckluZm8gJiYgdGhpcy5fYnJvd3NlckluZm8uY3NzUHJlZml4KSB7XG4gICAgICAgIHRoaXMucHJlZml4ZWRLZXlmcmFtZXMgPSAoMCwgX2dldFByZWZpeGVkS2V5ZnJhbWVzMi5kZWZhdWx0KSh0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSwgdGhpcy5fYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24sIHRoaXMuX2Jyb3dzZXJJbmZvLmNzc1ByZWZpeCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl91c2VGYWxsYmFjayA9IHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByZWZpeERhdGEgPSB0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSAmJiBwcmVmaXhNYXBbdGhpcy5fYnJvd3NlckluZm8uYnJvd3Nlck5hbWVdO1xuICAgICAgaWYgKHByZWZpeERhdGEpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZXNQcmVmaXggPSB7fTtcblxuICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBwcmVmaXhEYXRhKSB7XG4gICAgICAgICAgaWYgKHByZWZpeERhdGFbcHJvcGVydHldID49IHRoaXMuX2Jyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlc1ByZWZpeFtwcm9wZXJ0eV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hhc1Byb3BzUmVxdWlyaW5nUHJlZml4ID0gT2JqZWN0LmtleXModGhpcy5fcmVxdWlyZXNQcmVmaXgpLmxlbmd0aCA+IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl91c2VGYWxsYmFjayA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX21ldGFEYXRhID0ge1xuICAgICAgICBicm93c2VyVmVyc2lvbjogdGhpcy5fYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24sXG4gICAgICAgIGJyb3dzZXJOYW1lOiB0aGlzLl9icm93c2VySW5mby5icm93c2VyTmFtZSxcbiAgICAgICAgY3NzUHJlZml4OiB0aGlzLl9icm93c2VySW5mby5jc3NQcmVmaXgsXG4gICAgICAgIGpzUHJlZml4OiB0aGlzLl9icm93c2VySW5mby5qc1ByZWZpeCxcbiAgICAgICAga2VlcFVucHJlZml4ZWQ6IHRoaXMuX2tlZXBVbnByZWZpeGVkLFxuICAgICAgICByZXF1aXJlc1ByZWZpeDogdGhpcy5fcmVxdWlyZXNQcmVmaXhcbiAgICAgIH07XG4gICAgfVxuXG4gICAgX2NyZWF0ZUNsYXNzKFByZWZpeGVyLCBbe1xuICAgICAga2V5OiAncHJlZml4JyxcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBwcmVmaXgoc3R5bGUpIHtcbiAgICAgICAgLy8gdXNlIHN0YXRpYyBwcmVmaXhlciBhcyBmYWxsYmFjayBpZiB1c2VyQWdlbnQgY2FuIG5vdCBiZSByZXNvbHZlZFxuICAgICAgICBpZiAodGhpcy5fdXNlRmFsbGJhY2spIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2soc3R5bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gb25seSBhZGQgcHJlZml4ZXMgaWYgbmVlZGVkXG4gICAgICAgIGlmICghdGhpcy5faGFzUHJvcHNSZXF1aXJpbmdQcmVmaXgpIHtcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcHJlZml4U3R5bGUoc3R5bGUpO1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogJ19wcmVmaXhTdHlsZScsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gX3ByZWZpeFN0eWxlKHN0eWxlKSB7XG4gICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIHN0eWxlKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gc3R5bGVbcHJvcGVydHldO1xuXG4gICAgICAgICAgLy8gaGFuZGxlIG5lc3RlZCBvYmplY3RzXG4gICAgICAgICAgaWYgKCgwLCBfaXNPYmplY3QyLmRlZmF1bHQpKHZhbHVlKSkge1xuICAgICAgICAgICAgc3R5bGVbcHJvcGVydHldID0gdGhpcy5wcmVmaXgodmFsdWUpO1xuICAgICAgICAgICAgLy8gaGFuZGxlIGFycmF5IHZhbHVlc1xuICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhciBjb21iaW5lZFZhbHVlID0gW107XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB2YWx1ZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgICAgICB2YXIgcHJvY2Vzc2VkVmFsdWUgPSAoMCwgX3ByZWZpeFZhbHVlMi5kZWZhdWx0KShwbHVnaW5zLCBwcm9wZXJ0eSwgdmFsdWVbaV0sIHN0eWxlLCB0aGlzLl9tZXRhRGF0YSk7XG4gICAgICAgICAgICAgICgwLCBfYWRkTmV3VmFsdWVzT25seTIuZGVmYXVsdCkoY29tYmluZWRWYWx1ZSwgcHJvY2Vzc2VkVmFsdWUgfHwgdmFsdWVbaV0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvbmx5IG1vZGlmeSB0aGUgdmFsdWUgaWYgaXQgd2FzIHRvdWNoZWRcbiAgICAgICAgICAgIC8vIGJ5IGFueSBwbHVnaW4gdG8gcHJldmVudCB1bm5lY2Vzc2FyeSBtdXRhdGlvbnNcbiAgICAgICAgICAgIGlmIChjb21iaW5lZFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgc3R5bGVbcHJvcGVydHldID0gY29tYmluZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9wcm9jZXNzZWRWYWx1ZSA9ICgwLCBfcHJlZml4VmFsdWUyLmRlZmF1bHQpKHBsdWdpbnMsIHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIHRoaXMuX21ldGFEYXRhKTtcblxuICAgICAgICAgICAgLy8gb25seSBtb2RpZnkgdGhlIHZhbHVlIGlmIGl0IHdhcyB0b3VjaGVkXG4gICAgICAgICAgICAvLyBieSBhbnkgcGx1Z2luIHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgbXV0YXRpb25zXG4gICAgICAgICAgICBpZiAoX3Byb2Nlc3NlZFZhbHVlKSB7XG4gICAgICAgICAgICAgIHN0eWxlW3Byb3BlcnR5XSA9IF9wcm9jZXNzZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIHByZWZpeGVzIHRvIHByb3BlcnRpZXNcbiAgICAgICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc1ByZWZpeC5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgICAgICAgc3R5bGVbdGhpcy5fYnJvd3NlckluZm8uanNQcmVmaXggKyAoMCwgX2NhcGl0YWxpemVTdHJpbmcyLmRlZmF1bHQpKHByb3BlcnR5KV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLl9rZWVwVW5wcmVmaXhlZCkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBzdHlsZVtwcm9wZXJ0eV07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmV0dXJucyBhIHByZWZpeGVkIHZlcnNpb24gb2YgdGhlIHN0eWxlIG9iamVjdCB1c2luZyBhbGwgdmVuZG9yIHByZWZpeGVzXG4gICAgICAgKiBAcGFyYW0ge09iamVjdH0gc3R5bGVzIC0gU3R5bGUgb2JqZWN0IHRoYXQgZ2V0cyBwcmVmaXhlZCBwcm9wZXJ0aWVzIGFkZGVkXG4gICAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSAtIFN0eWxlIG9iamVjdCB3aXRoIHByZWZpeGVkIHByb3BlcnRpZXMgYW5kIHZhbHVlc1xuICAgICAgICovXG5cbiAgICB9XSwgW3tcbiAgICAgIGtleTogJ3ByZWZpeEFsbCcsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gcHJlZml4QWxsKHN0eWxlcykge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2soc3R5bGVzKTtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gUHJlZml4ZXI7XG4gIH0oKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/createPrefixer.js\n"); /***/ }), @@ -259,7 +223,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === \"string\" && value.indexOf(\"calc(\") > -1 && (browserName === \"firefox\" && browserVersion < 15 || browserName === \"chrome\" && browserVersion < 25 || browserName === \"safari\" && browserVersion < 6.1 || browserName === \"ios_saf\" && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + \"calc(\"), value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY2FsYy5qcz8zMGM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY2FsYy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY2FsYztcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gY2FsYyhwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBicm93c2VyTmFtZSA9IF9yZWYuYnJvd3Nlck5hbWUsXG4gICAgICBicm93c2VyVmVyc2lvbiA9IF9yZWYuYnJvd3NlclZlcnNpb24sXG4gICAgICBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZDtcblxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLmluZGV4T2YoXCJjYWxjKFwiKSA+IC0xICYmIChicm93c2VyTmFtZSA9PT0gXCJmaXJlZm94XCIgJiYgYnJvd3NlclZlcnNpb24gPCAxNSB8fCBicm93c2VyTmFtZSA9PT0gXCJjaHJvbWVcIiAmJiBicm93c2VyVmVyc2lvbiA8IDI1IHx8IGJyb3dzZXJOYW1lID09PSBcInNhZmFyaVwiICYmIGJyb3dzZXJWZXJzaW9uIDwgNi4xIHx8IGJyb3dzZXJOYW1lID09PSBcImlvc19zYWZcIiAmJiBicm93c2VyVmVyc2lvbiA8IDcpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUucmVwbGFjZSgvY2FsY1xcKC9nLCBjc3NQcmVmaXggKyBcImNhbGMoXCIpLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/calc.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + 'calc('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY2FsYy5qcz8zMGM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY2FsYy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGNhbGM7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWUnKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBjYWxjKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluZGV4T2YoJ2NhbGMoJykgPiAtMSAmJiAoYnJvd3Nlck5hbWUgPT09ICdmaXJlZm94JyAmJiBicm93c2VyVmVyc2lvbiA8IDE1IHx8IGJyb3dzZXJOYW1lID09PSAnY2hyb21lJyAmJiBicm93c2VyVmVyc2lvbiA8IDI1IHx8IGJyb3dzZXJOYW1lID09PSAnc2FmYXJpJyAmJiBicm93c2VyVmVyc2lvbiA8IDYuMSB8fCBicm93c2VyTmFtZSA9PT0gJ2lvc19zYWYnICYmIGJyb3dzZXJWZXJzaW9uIDwgNykpIHtcbiAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZS5yZXBsYWNlKC9jYWxjXFwoL2csIGNzc1ByZWZpeCArICdjYWxjKCcpLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/calc.js\n"); /***/ }), @@ -271,7 +235,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === \"string\" && value.indexOf(\"cross-fade(\") > -1 && (browserName === \"chrome\" || browserName === \"opera\" || browserName === \"and_chr\" || (browserName === \"ios_saf\" || browserName === \"safari\") && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + \"cross-fade(\"), value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY3Jvc3NGYWRlLmpzP2VlZjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9jcm9zc0ZhZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGNyb3NzRmFkZTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gY3Jvc3NGYWRlKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUuaW5kZXhPZihcImNyb3NzLWZhZGUoXCIpID4gLTEgJiYgKGJyb3dzZXJOYW1lID09PSBcImNocm9tZVwiIHx8IGJyb3dzZXJOYW1lID09PSBcIm9wZXJhXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwiYW5kX2NoclwiIHx8IChicm93c2VyTmFtZSA9PT0gXCJpb3Nfc2FmXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwic2FmYXJpXCIpICYmIGJyb3dzZXJWZXJzaW9uIDwgMTApKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUucmVwbGFjZSgvY3Jvc3MtZmFkZVxcKC9nLCBjc3NQcmVmaXggKyBcImNyb3NzLWZhZGUoXCIpLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY3Jvc3NGYWRlLmpzP2VlZjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9jcm9zc0ZhZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBjcm9zc0ZhZGU7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWUnKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBjcm9zc0ZhZGUocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgYnJvd3NlclZlcnNpb24gPSBfcmVmLmJyb3dzZXJWZXJzaW9uLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQ7XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5kZXhPZignY3Jvc3MtZmFkZSgnKSA+IC0xICYmIChicm93c2VyTmFtZSA9PT0gJ2Nocm9tZScgfHwgYnJvd3Nlck5hbWUgPT09ICdvcGVyYScgfHwgYnJvd3Nlck5hbWUgPT09ICdhbmRfY2hyJyB8fCAoYnJvd3Nlck5hbWUgPT09ICdpb3Nfc2FmJyB8fCBicm93c2VyTmFtZSA9PT0gJ3NhZmFyaScpICYmIGJyb3dzZXJWZXJzaW9uIDwgMTApKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUucmVwbGFjZSgvY3Jvc3MtZmFkZVxcKC9nLCBjc3NQcmVmaXggKyAnY3Jvc3MtZmFkZSgnKSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js\n"); /***/ }), @@ -283,7 +247,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n \"zoom-in\": true,\n \"zoom-out\": true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === \"cursor\" && grabValues[value] && (browserName === \"firefox\" || browserName === \"chrome\" || browserName === \"safari\" || browserName === \"opera\")) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === \"cursor\" && zoomValues[value] && (browserName === \"firefox\" && browserVersion < 24 || browserName === \"chrome\" && browserVersion < 37 || browserName === \"safari\" && browserVersion < 9 || browserName === \"opera\" && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY3Vyc29yLmpzPzMxMGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL2N1cnNvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY3Vyc29yO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgZ3JhYlZhbHVlcyA9IHtcbiAgZ3JhYjogdHJ1ZSxcbiAgZ3JhYmJpbmc6IHRydWVcbn07XG5cblxudmFyIHpvb21WYWx1ZXMgPSB7XG4gIFwiem9vbS1pblwiOiB0cnVlLFxuICBcInpvb20tb3V0XCI6IHRydWVcbn07XG5cbmZ1bmN0aW9uIGN1cnNvcihwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBicm93c2VyTmFtZSA9IF9yZWYuYnJvd3Nlck5hbWUsXG4gICAgICBicm93c2VyVmVyc2lvbiA9IF9yZWYuYnJvd3NlclZlcnNpb24sXG4gICAgICBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZDtcblxuICAvLyBhZGRzIHByZWZpeGVzIGZvciBmaXJlZm94LCBjaHJvbWUsIHNhZmFyaSwgYW5kIG9wZXJhIHJlZ2FyZGxlc3Mgb2ZcbiAgLy8gdmVyc2lvbiB1bnRpbCBhIHJlbGlhYmxlIGJyb3dzZXIgc3VwcG9ydCBpbmZvIGNhbiBiZSBmb3VuZFxuICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9yb2ZyaXNjaG1hbm4vaW5saW5lLXN0eWxlLXByZWZpeGVyL2lzc3Vlcy83OVxuICBpZiAocHJvcGVydHkgPT09IFwiY3Vyc29yXCIgJiYgZ3JhYlZhbHVlc1t2YWx1ZV0gJiYgKGJyb3dzZXJOYW1lID09PSBcImZpcmVmb3hcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJjaHJvbWVcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJzYWZhcmlcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJvcGVyYVwiKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKGNzc1ByZWZpeCArIHZhbHVlLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5ID09PSBcImN1cnNvclwiICYmIHpvb21WYWx1ZXNbdmFsdWVdICYmIChicm93c2VyTmFtZSA9PT0gXCJmaXJlZm94XCIgJiYgYnJvd3NlclZlcnNpb24gPCAyNCB8fCBicm93c2VyTmFtZSA9PT0gXCJjaHJvbWVcIiAmJiBicm93c2VyVmVyc2lvbiA8IDM3IHx8IGJyb3dzZXJOYW1lID09PSBcInNhZmFyaVwiICYmIGJyb3dzZXJWZXJzaW9uIDwgOSB8fCBicm93c2VyTmFtZSA9PT0gXCJvcGVyYVwiICYmIGJyb3dzZXJWZXJzaW9uIDwgMjQpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n 'zoom-in': true,\n 'zoom-out': true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvY3Vyc29yLmpzPzMxMGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL2N1cnNvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGN1cnNvcjtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBncmFiVmFsdWVzID0ge1xuICBncmFiOiB0cnVlLFxuICBncmFiYmluZzogdHJ1ZVxufTtcblxuXG52YXIgem9vbVZhbHVlcyA9IHtcbiAgJ3pvb20taW4nOiB0cnVlLFxuICAnem9vbS1vdXQnOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBjdXJzb3IocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgYnJvd3NlclZlcnNpb24gPSBfcmVmLmJyb3dzZXJWZXJzaW9uLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQ7XG5cbiAgLy8gYWRkcyBwcmVmaXhlcyBmb3IgZmlyZWZveCwgY2hyb21lLCBzYWZhcmksIGFuZCBvcGVyYSByZWdhcmRsZXNzIG9mXG4gIC8vIHZlcnNpb24gdW50aWwgYSByZWxpYWJsZSBicm93c2VyIHN1cHBvcnQgaW5mbyBjYW4gYmUgZm91bmRcbiAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vcm9mcmlzY2htYW5uL2lubGluZS1zdHlsZS1wcmVmaXhlci9pc3N1ZXMvNzlcbiAgaWYgKHByb3BlcnR5ID09PSAnY3Vyc29yJyAmJiBncmFiVmFsdWVzW3ZhbHVlXSAmJiAoYnJvd3Nlck5hbWUgPT09ICdmaXJlZm94JyB8fCBicm93c2VyTmFtZSA9PT0gJ2Nocm9tZScgfHwgYnJvd3Nlck5hbWUgPT09ICdzYWZhcmknIHx8IGJyb3dzZXJOYW1lID09PSAnb3BlcmEnKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKGNzc1ByZWZpeCArIHZhbHVlLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5ID09PSAnY3Vyc29yJyAmJiB6b29tVmFsdWVzW3ZhbHVlXSAmJiAoYnJvd3Nlck5hbWUgPT09ICdmaXJlZm94JyAmJiBicm93c2VyVmVyc2lvbiA8IDI0IHx8IGJyb3dzZXJOYW1lID09PSAnY2hyb21lJyAmJiBicm93c2VyVmVyc2lvbiA8IDM3IHx8IGJyb3dzZXJOYW1lID09PSAnc2FmYXJpJyAmJiBicm93c2VyVmVyc2lvbiA8IDkgfHwgYnJvd3Nlck5hbWUgPT09ICdvcGVyYScgJiYgYnJvd3NlclZlcnNpb24gPCAyNCkpIHtcbiAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KShjc3NQcmVmaXggKyB2YWx1ZSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js\n"); /***/ }), @@ -295,7 +259,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === \"string\" && value.indexOf(\"filter(\") > -1 && (browserName === \"ios_saf\" || browserName === \"safari\" && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + \"filter(\"), value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmlsdGVyLmpzPzE4OWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9maWx0ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGZpbHRlcjtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gZmlsdGVyKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUuaW5kZXhPZihcImZpbHRlcihcIikgPiAtMSAmJiAoYnJvd3Nlck5hbWUgPT09IFwiaW9zX3NhZlwiIHx8IGJyb3dzZXJOYW1lID09PSBcInNhZmFyaVwiICYmIGJyb3dzZXJWZXJzaW9uIDwgOS4xKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlLnJlcGxhY2UoL2ZpbHRlclxcKC9nLCBjc3NQcmVmaXggKyBcImZpbHRlcihcIiksIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/filter.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + 'filter('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmlsdGVyLmpzPzE4OWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9maWx0ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBmaWx0ZXI7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWUnKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBmaWx0ZXIocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgYnJvd3NlclZlcnNpb24gPSBfcmVmLmJyb3dzZXJWZXJzaW9uLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQ7XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5kZXhPZignZmlsdGVyKCcpID4gLTEgJiYgKGJyb3dzZXJOYW1lID09PSAnaW9zX3NhZicgfHwgYnJvd3Nlck5hbWUgPT09ICdzYWZhcmknICYmIGJyb3dzZXJWZXJzaW9uIDwgOS4xKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlLnJlcGxhY2UoL2ZpbHRlclxcKC9nLCBjc3NQcmVmaXggKyAnZmlsdGVyKCcpLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/filter.js\n"); /***/ }), @@ -307,7 +271,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n \"inline-flex\": true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === \"display\" && values[value] && (browserName === \"chrome\" && browserVersion < 29 && browserVersion > 20 || (browserName === \"safari\" || browserName === \"ios_saf\") && browserVersion < 9 && browserVersion > 6 || browserName === \"opera\" && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleC5qcz8zMjI5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9mbGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBmbGV4O1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgdmFsdWVzID0ge1xuICBmbGV4OiB0cnVlLFxuICBcImlubGluZS1mbGV4XCI6IHRydWVcbn07XG5mdW5jdGlvbiBmbGV4KHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmIChwcm9wZXJ0eSA9PT0gXCJkaXNwbGF5XCIgJiYgdmFsdWVzW3ZhbHVlXSAmJiAoYnJvd3Nlck5hbWUgPT09IFwiY2hyb21lXCIgJiYgYnJvd3NlclZlcnNpb24gPCAyOSAmJiBicm93c2VyVmVyc2lvbiA+IDIwIHx8IChicm93c2VyTmFtZSA9PT0gXCJzYWZhcmlcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJpb3Nfc2FmXCIpICYmIGJyb3dzZXJWZXJzaW9uIDwgOSAmJiBicm93c2VyVmVyc2lvbiA+IDYgfHwgYnJvd3Nlck5hbWUgPT09IFwib3BlcmFcIiAmJiAoYnJvd3NlclZlcnNpb24gPT09IDE1IHx8IGJyb3dzZXJWZXJzaW9uID09PSAxNikpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flex.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n 'inline-flex': true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleC5qcz8zMjI5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9mbGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleDtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciB2YWx1ZXMgPSB7XG4gIGZsZXg6IHRydWUsXG4gICdpbmxpbmUtZmxleCc6IHRydWVcbn07XG5mdW5jdGlvbiBmbGV4KHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmIChwcm9wZXJ0eSA9PT0gJ2Rpc3BsYXknICYmIHZhbHVlc1t2YWx1ZV0gJiYgKGJyb3dzZXJOYW1lID09PSAnY2hyb21lJyAmJiBicm93c2VyVmVyc2lvbiA8IDI5ICYmIGJyb3dzZXJWZXJzaW9uID4gMjAgfHwgKGJyb3dzZXJOYW1lID09PSAnc2FmYXJpJyB8fCBicm93c2VyTmFtZSA9PT0gJ2lvc19zYWYnKSAmJiBicm93c2VyVmVyc2lvbiA8IDkgJiYgYnJvd3NlclZlcnNpb24gPiA2IHx8IGJyb3dzZXJOYW1lID09PSAnb3BlcmEnICYmIChicm93c2VyVmVyc2lvbiA9PT0gMTUgfHwgYnJvd3NlclZlcnNpb24gPT09IDE2KSkpIHtcbiAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KShjc3NQcmVmaXggKyB2YWx1ZSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flex.js\n"); /***/ }), @@ -319,7 +283,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n \"space-around\": \"distribute\",\n \"space-between\": \"justify\",\n \"flex-start\": \"start\",\n \"flex-end\": \"end\",\n flex: \"flexbox\",\n \"inline-flex\": \"inline-flexbox\"\n};\n\nvar alternativeProps = {\n alignContent: \"msFlexLinePack\",\n alignSelf: \"msFlexItemAlign\",\n alignItems: \"msFlexAlign\",\n justifyContent: \"msFlexPack\",\n order: \"msFlexOrder\",\n flexGrow: \"msFlexPositive\",\n flexShrink: \"msFlexNegative\",\n flexBasis: \"msFlexPreferredSize\"\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === \"display\" && typeof value === \"string\" && value.indexOf(\"flex\") > -1) && (browserName === \"ie_mob\" || browserName === \"ie\") && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === \"display\" && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleGJveElFLmpzPzJhYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL2ZsZXhib3hJRS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleGJveElFO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgYWx0ZXJuYXRpdmVWYWx1ZXMgPSB7XG4gIFwic3BhY2UtYXJvdW5kXCI6IFwiZGlzdHJpYnV0ZVwiLFxuICBcInNwYWNlLWJldHdlZW5cIjogXCJqdXN0aWZ5XCIsXG4gIFwiZmxleC1zdGFydFwiOiBcInN0YXJ0XCIsXG4gIFwiZmxleC1lbmRcIjogXCJlbmRcIixcbiAgZmxleDogXCJmbGV4Ym94XCIsXG4gIFwiaW5saW5lLWZsZXhcIjogXCJpbmxpbmUtZmxleGJveFwiXG59O1xuXG52YXIgYWx0ZXJuYXRpdmVQcm9wcyA9IHtcbiAgYWxpZ25Db250ZW50OiBcIm1zRmxleExpbmVQYWNrXCIsXG4gIGFsaWduU2VsZjogXCJtc0ZsZXhJdGVtQWxpZ25cIixcbiAgYWxpZ25JdGVtczogXCJtc0ZsZXhBbGlnblwiLFxuICBqdXN0aWZ5Q29udGVudDogXCJtc0ZsZXhQYWNrXCIsXG4gIG9yZGVyOiBcIm1zRmxleE9yZGVyXCIsXG4gIGZsZXhHcm93OiBcIm1zRmxleFBvc2l0aXZlXCIsXG4gIGZsZXhTaHJpbms6IFwibXNGbGV4TmVnYXRpdmVcIixcbiAgZmxleEJhc2lzOiBcIm1zRmxleFByZWZlcnJlZFNpemVcIlxufTtcblxuZnVuY3Rpb24gZmxleGJveElFKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkLFxuICAgICAgcmVxdWlyZXNQcmVmaXggPSBfcmVmLnJlcXVpcmVzUHJlZml4O1xuXG4gIGlmICgoYWx0ZXJuYXRpdmVQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkgfHwgcHJvcGVydHkgPT09IFwiZGlzcGxheVwiICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiB2YWx1ZS5pbmRleE9mKFwiZmxleFwiKSA+IC0xKSAmJiAoYnJvd3Nlck5hbWUgPT09IFwiaWVfbW9iXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwiaWVcIikgJiYgYnJvd3NlclZlcnNpb24gPT09IDEwKSB7XG4gICAgZGVsZXRlIHJlcXVpcmVzUHJlZml4W3Byb3BlcnR5XTtcblxuICAgIGlmICgha2VlcFVucHJlZml4ZWQgJiYgIUFycmF5LmlzQXJyYXkoc3R5bGVbcHJvcGVydHldKSkge1xuICAgICAgZGVsZXRlIHN0eWxlW3Byb3BlcnR5XTtcbiAgICB9XG4gICAgaWYgKHByb3BlcnR5ID09PSBcImRpc3BsYXlcIiAmJiBhbHRlcm5hdGl2ZVZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKGNzc1ByZWZpeCArIGFsdGVybmF0aXZlVmFsdWVzW3ZhbHVlXSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgICB9XG4gICAgaWYgKGFsdGVybmF0aXZlUHJvcHMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgICBzdHlsZVthbHRlcm5hdGl2ZVByb3BzW3Byb3BlcnR5XV0gPSBhbHRlcm5hdGl2ZVZhbHVlc1t2YWx1ZV0gfHwgdmFsdWU7XG4gICAgfVxuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n};\n\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleGJveElFLmpzPzJhYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL2ZsZXhib3hJRS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGZsZXhib3hJRTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBhbHRlcm5hdGl2ZVZhbHVlcyA9IHtcbiAgJ3NwYWNlLWFyb3VuZCc6ICdkaXN0cmlidXRlJyxcbiAgJ3NwYWNlLWJldHdlZW4nOiAnanVzdGlmeScsXG4gICdmbGV4LXN0YXJ0JzogJ3N0YXJ0JyxcbiAgJ2ZsZXgtZW5kJzogJ2VuZCcsXG4gIGZsZXg6ICdmbGV4Ym94JyxcbiAgJ2lubGluZS1mbGV4JzogJ2lubGluZS1mbGV4Ym94J1xufTtcblxudmFyIGFsdGVybmF0aXZlUHJvcHMgPSB7XG4gIGFsaWduQ29udGVudDogJ21zRmxleExpbmVQYWNrJyxcbiAgYWxpZ25TZWxmOiAnbXNGbGV4SXRlbUFsaWduJyxcbiAgYWxpZ25JdGVtczogJ21zRmxleEFsaWduJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdtc0ZsZXhQYWNrJyxcbiAgb3JkZXI6ICdtc0ZsZXhPcmRlcicsXG4gIGZsZXhHcm93OiAnbXNGbGV4UG9zaXRpdmUnLFxuICBmbGV4U2hyaW5rOiAnbXNGbGV4TmVnYXRpdmUnLFxuICBmbGV4QmFzaXM6ICdtc0ZsZXhQcmVmZXJyZWRTaXplJ1xufTtcblxuZnVuY3Rpb24gZmxleGJveElFKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkLFxuICAgICAgcmVxdWlyZXNQcmVmaXggPSBfcmVmLnJlcXVpcmVzUHJlZml4O1xuXG4gIGlmICgoYWx0ZXJuYXRpdmVQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkgfHwgcHJvcGVydHkgPT09ICdkaXNwbGF5JyAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluZGV4T2YoJ2ZsZXgnKSA+IC0xKSAmJiAoYnJvd3Nlck5hbWUgPT09ICdpZV9tb2InIHx8IGJyb3dzZXJOYW1lID09PSAnaWUnKSAmJiBicm93c2VyVmVyc2lvbiA9PT0gMTApIHtcbiAgICBkZWxldGUgcmVxdWlyZXNQcmVmaXhbcHJvcGVydHldO1xuXG4gICAgaWYgKCFrZWVwVW5wcmVmaXhlZCAmJiAhQXJyYXkuaXNBcnJheShzdHlsZVtwcm9wZXJ0eV0pKSB7XG4gICAgICBkZWxldGUgc3R5bGVbcHJvcGVydHldO1xuICAgIH1cbiAgICBpZiAocHJvcGVydHkgPT09ICdkaXNwbGF5JyAmJiBhbHRlcm5hdGl2ZVZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKGNzc1ByZWZpeCArIGFsdGVybmF0aXZlVmFsdWVzW3ZhbHVlXSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgICB9XG4gICAgaWYgKGFsdGVybmF0aXZlUHJvcHMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgICBzdHlsZVthbHRlcm5hdGl2ZVByb3BzW3Byb3BlcnR5XV0gPSBhbHRlcm5hdGl2ZVZhbHVlc1t2YWx1ZV0gfHwgdmFsdWU7XG4gICAgfVxuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js\n"); /***/ }), @@ -331,7 +295,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n \"space-around\": \"justify\",\n \"space-between\": \"justify\",\n \"flex-start\": \"start\",\n \"flex-end\": \"end\",\n \"wrap-reverse\": \"multiple\",\n wrap: \"multiple\",\n flex: \"box\",\n \"inline-flex\": \"inline-box\"\n};\n\n\nvar alternativeProps = {\n alignItems: \"WebkitBoxAlign\",\n justifyContent: \"WebkitBoxPack\",\n flexWrap: \"WebkitBoxLines\"\n};\n\nvar otherProps = [\"alignContent\", \"alignSelf\", \"order\", \"flexGrow\", \"flexShrink\", \"flexBasis\", \"flexDirection\"];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === \"display\" && typeof value === \"string\" && value.indexOf(\"flex\") > -1) && (browserName === \"firefox\" && browserVersion < 22 || browserName === \"chrome\" && browserVersion < 21 || (browserName === \"safari\" || browserName === \"ios_saf\") && browserVersion <= 6.1 || browserName === \"android\" && browserVersion < 4.4 || browserName === \"and_uc\")) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === \"flexDirection\" && typeof value === \"string\") {\n if (value.indexOf(\"column\") > -1) {\n style.WebkitBoxOrient = \"vertical\";\n } else {\n style.WebkitBoxOrient = \"horizontal\";\n }\n if (value.indexOf(\"reverse\") > -1) {\n style.WebkitBoxDirection = \"reverse\";\n } else {\n style.WebkitBoxDirection = \"normal\";\n }\n }\n if (property === \"display\" && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleGJveE9sZC5qcz8zYjhjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleGJveE9sZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleGJveE9sZDtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGFsdGVybmF0aXZlVmFsdWVzID0ge1xuICBcInNwYWNlLWFyb3VuZFwiOiBcImp1c3RpZnlcIixcbiAgXCJzcGFjZS1iZXR3ZWVuXCI6IFwianVzdGlmeVwiLFxuICBcImZsZXgtc3RhcnRcIjogXCJzdGFydFwiLFxuICBcImZsZXgtZW5kXCI6IFwiZW5kXCIsXG4gIFwid3JhcC1yZXZlcnNlXCI6IFwibXVsdGlwbGVcIixcbiAgd3JhcDogXCJtdWx0aXBsZVwiLFxuICBmbGV4OiBcImJveFwiLFxuICBcImlubGluZS1mbGV4XCI6IFwiaW5saW5lLWJveFwiXG59O1xuXG5cbnZhciBhbHRlcm5hdGl2ZVByb3BzID0ge1xuICBhbGlnbkl0ZW1zOiBcIldlYmtpdEJveEFsaWduXCIsXG4gIGp1c3RpZnlDb250ZW50OiBcIldlYmtpdEJveFBhY2tcIixcbiAgZmxleFdyYXA6IFwiV2Via2l0Qm94TGluZXNcIlxufTtcblxudmFyIG90aGVyUHJvcHMgPSBbXCJhbGlnbkNvbnRlbnRcIiwgXCJhbGlnblNlbGZcIiwgXCJvcmRlclwiLCBcImZsZXhHcm93XCIsIFwiZmxleFNocmlua1wiLCBcImZsZXhCYXNpc1wiLCBcImZsZXhEaXJlY3Rpb25cIl07XG52YXIgcHJvcGVydGllcyA9IE9iamVjdC5rZXlzKGFsdGVybmF0aXZlUHJvcHMpLmNvbmNhdChvdGhlclByb3BzKTtcblxuZnVuY3Rpb24gZmxleGJveE9sZChwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBicm93c2VyTmFtZSA9IF9yZWYuYnJvd3Nlck5hbWUsXG4gICAgICBicm93c2VyVmVyc2lvbiA9IF9yZWYuYnJvd3NlclZlcnNpb24sXG4gICAgICBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZCxcbiAgICAgIHJlcXVpcmVzUHJlZml4ID0gX3JlZi5yZXF1aXJlc1ByZWZpeDtcblxuICBpZiAoKHByb3BlcnRpZXMuaW5kZXhPZihwcm9wZXJ0eSkgPiAtMSB8fCBwcm9wZXJ0eSA9PT0gXCJkaXNwbGF5XCIgJiYgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLmluZGV4T2YoXCJmbGV4XCIpID4gLTEpICYmIChicm93c2VyTmFtZSA9PT0gXCJmaXJlZm94XCIgJiYgYnJvd3NlclZlcnNpb24gPCAyMiB8fCBicm93c2VyTmFtZSA9PT0gXCJjaHJvbWVcIiAmJiBicm93c2VyVmVyc2lvbiA8IDIxIHx8IChicm93c2VyTmFtZSA9PT0gXCJzYWZhcmlcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJpb3Nfc2FmXCIpICYmIGJyb3dzZXJWZXJzaW9uIDw9IDYuMSB8fCBicm93c2VyTmFtZSA9PT0gXCJhbmRyb2lkXCIgJiYgYnJvd3NlclZlcnNpb24gPCA0LjQgfHwgYnJvd3Nlck5hbWUgPT09IFwiYW5kX3VjXCIpKSB7XG4gICAgZGVsZXRlIHJlcXVpcmVzUHJlZml4W3Byb3BlcnR5XTtcblxuICAgIGlmICgha2VlcFVucHJlZml4ZWQgJiYgIUFycmF5LmlzQXJyYXkoc3R5bGVbcHJvcGVydHldKSkge1xuICAgICAgZGVsZXRlIHN0eWxlW3Byb3BlcnR5XTtcbiAgICB9XG4gICAgaWYgKHByb3BlcnR5ID09PSBcImZsZXhEaXJlY3Rpb25cIiAmJiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKFwiY29sdW1uXCIpID4gLTEpIHtcbiAgICAgICAgc3R5bGUuV2Via2l0Qm94T3JpZW50ID0gXCJ2ZXJ0aWNhbFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3R5bGUuV2Via2l0Qm94T3JpZW50ID0gXCJob3Jpem9udGFsXCI7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihcInJldmVyc2VcIikgPiAtMSkge1xuICAgICAgICBzdHlsZS5XZWJraXRCb3hEaXJlY3Rpb24gPSBcInJldmVyc2VcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0eWxlLldlYmtpdEJveERpcmVjdGlvbiA9IFwibm9ybWFsXCI7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wZXJ0eSA9PT0gXCJkaXNwbGF5XCIgJiYgYWx0ZXJuYXRpdmVWYWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KShjc3NQcmVmaXggKyBhbHRlcm5hdGl2ZVZhbHVlc1t2YWx1ZV0sIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gICAgfVxuICAgIGlmIChhbHRlcm5hdGl2ZVByb3BzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgICAgc3R5bGVbYWx0ZXJuYXRpdmVQcm9wc1twcm9wZXJ0eV1dID0gYWx0ZXJuYXRpdmVWYWx1ZXNbdmFsdWVdIHx8IHZhbHVlO1xuICAgIH1cbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nvar otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZmxleGJveE9sZC5qcz8zYjhjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9mbGV4Ym94T2xkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleGJveE9sZDtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBhbHRlcm5hdGl2ZVZhbHVlcyA9IHtcbiAgJ3NwYWNlLWFyb3VuZCc6ICdqdXN0aWZ5JyxcbiAgJ3NwYWNlLWJldHdlZW4nOiAnanVzdGlmeScsXG4gICdmbGV4LXN0YXJ0JzogJ3N0YXJ0JyxcbiAgJ2ZsZXgtZW5kJzogJ2VuZCcsXG4gICd3cmFwLXJldmVyc2UnOiAnbXVsdGlwbGUnLFxuICB3cmFwOiAnbXVsdGlwbGUnLFxuICBmbGV4OiAnYm94JyxcbiAgJ2lubGluZS1mbGV4JzogJ2lubGluZS1ib3gnXG59O1xuXG5cbnZhciBhbHRlcm5hdGl2ZVByb3BzID0ge1xuICBhbGlnbkl0ZW1zOiAnV2Via2l0Qm94QWxpZ24nLFxuICBqdXN0aWZ5Q29udGVudDogJ1dlYmtpdEJveFBhY2snLFxuICBmbGV4V3JhcDogJ1dlYmtpdEJveExpbmVzJyxcbiAgZmxleEdyb3c6ICdXZWJraXRCb3hGbGV4J1xufTtcblxudmFyIG90aGVyUHJvcHMgPSBbJ2FsaWduQ29udGVudCcsICdhbGlnblNlbGYnLCAnb3JkZXInLCAnZmxleEdyb3cnLCAnZmxleFNocmluaycsICdmbGV4QmFzaXMnLCAnZmxleERpcmVjdGlvbiddO1xudmFyIHByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhhbHRlcm5hdGl2ZVByb3BzKS5jb25jYXQob3RoZXJQcm9wcyk7XG5cbmZ1bmN0aW9uIGZsZXhib3hPbGQocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgYnJvd3NlclZlcnNpb24gPSBfcmVmLmJyb3dzZXJWZXJzaW9uLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQsXG4gICAgICByZXF1aXJlc1ByZWZpeCA9IF9yZWYucmVxdWlyZXNQcmVmaXg7XG5cbiAgaWYgKChwcm9wZXJ0aWVzLmluZGV4T2YocHJvcGVydHkpID4gLTEgfHwgcHJvcGVydHkgPT09ICdkaXNwbGF5JyAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluZGV4T2YoJ2ZsZXgnKSA+IC0xKSAmJiAoYnJvd3Nlck5hbWUgPT09ICdmaXJlZm94JyAmJiBicm93c2VyVmVyc2lvbiA8IDIyIHx8IGJyb3dzZXJOYW1lID09PSAnY2hyb21lJyAmJiBicm93c2VyVmVyc2lvbiA8IDIxIHx8IChicm93c2VyTmFtZSA9PT0gJ3NhZmFyaScgfHwgYnJvd3Nlck5hbWUgPT09ICdpb3Nfc2FmJykgJiYgYnJvd3NlclZlcnNpb24gPD0gNi4xIHx8IGJyb3dzZXJOYW1lID09PSAnYW5kcm9pZCcgJiYgYnJvd3NlclZlcnNpb24gPCA0LjQgfHwgYnJvd3Nlck5hbWUgPT09ICdhbmRfdWMnKSkge1xuICAgIGRlbGV0ZSByZXF1aXJlc1ByZWZpeFtwcm9wZXJ0eV07XG5cbiAgICBpZiAoIWtlZXBVbnByZWZpeGVkICYmICFBcnJheS5pc0FycmF5KHN0eWxlW3Byb3BlcnR5XSkpIHtcbiAgICAgIGRlbGV0ZSBzdHlsZVtwcm9wZXJ0eV07XG4gICAgfVxuICAgIGlmIChwcm9wZXJ0eSA9PT0gJ2ZsZXhEaXJlY3Rpb24nICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKCdjb2x1bW4nKSA+IC0xKSB7XG4gICAgICAgIHN0eWxlLldlYmtpdEJveE9yaWVudCA9ICd2ZXJ0aWNhbCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHlsZS5XZWJraXRCb3hPcmllbnQgPSAnaG9yaXpvbnRhbCc7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZigncmV2ZXJzZScpID4gLTEpIHtcbiAgICAgICAgc3R5bGUuV2Via2l0Qm94RGlyZWN0aW9uID0gJ3JldmVyc2UnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3R5bGUuV2Via2l0Qm94RGlyZWN0aW9uID0gJ25vcm1hbCc7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wZXJ0eSA9PT0gJ2Rpc3BsYXknICYmIGFsdGVybmF0aXZlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgYWx0ZXJuYXRpdmVWYWx1ZXNbdmFsdWVdLCB2YWx1ZSwga2VlcFVucHJlZml4ZWQpO1xuICAgIH1cbiAgICBpZiAoYWx0ZXJuYXRpdmVQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgIHN0eWxlW2FsdGVybmF0aXZlUHJvcHNbcHJvcGVydHldXSA9IGFsdGVybmF0aXZlVmFsdWVzW3ZhbHVlXSB8fCB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js\n"); /***/ }), @@ -343,7 +307,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === \"string\" && values.test(value) && (browserName === \"firefox\" && browserVersion < 16 || browserName === \"chrome\" && browserVersion < 26 || (browserName === \"safari\" || browserName === \"ios_saf\") && browserVersion < 7 || (browserName === \"opera\" || browserName === \"op_mini\") && browserVersion < 12.1 || browserName === \"android\" && browserVersion < 4.4 || browserName === \"and_uc\")) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZ3JhZGllbnQuanM/N2M5YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZ3JhZGllbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGdyYWRpZW50O1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgdmFsdWVzID0gL2xpbmVhci1ncmFkaWVudHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudHxyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50LztcbmZ1bmN0aW9uIGdyYWRpZW50KHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGJyb3dzZXJWZXJzaW9uID0gX3JlZi5icm93c2VyVmVyc2lvbixcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWVzLnRlc3QodmFsdWUpICYmIChicm93c2VyTmFtZSA9PT0gXCJmaXJlZm94XCIgJiYgYnJvd3NlclZlcnNpb24gPCAxNiB8fCBicm93c2VyTmFtZSA9PT0gXCJjaHJvbWVcIiAmJiBicm93c2VyVmVyc2lvbiA8IDI2IHx8IChicm93c2VyTmFtZSA9PT0gXCJzYWZhcmlcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJpb3Nfc2FmXCIpICYmIGJyb3dzZXJWZXJzaW9uIDwgNyB8fCAoYnJvd3Nlck5hbWUgPT09IFwib3BlcmFcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJvcF9taW5pXCIpICYmIGJyb3dzZXJWZXJzaW9uIDwgMTIuMSB8fCBicm93c2VyTmFtZSA9PT0gXCJhbmRyb2lkXCIgJiYgYnJvd3NlclZlcnNpb24gPCA0LjQgfHwgYnJvd3Nlck5hbWUgPT09IFwiYW5kX3VjXCIpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) {\n return cssPrefix + grad;\n }), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZ3JhZGllbnQuanM/N2M5YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvZ3JhZGllbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBncmFkaWVudDtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvZ2V0UHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciB2YWx1ZXMgPSAvbGluZWFyLWdyYWRpZW50fHJhZGlhbC1ncmFkaWVudHxyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50fHJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQvZ2k7XG5mdW5jdGlvbiBncmFkaWVudChwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBicm93c2VyTmFtZSA9IF9yZWYuYnJvd3Nlck5hbWUsXG4gICAgICBicm93c2VyVmVyc2lvbiA9IF9yZWYuYnJvd3NlclZlcnNpb24sXG4gICAgICBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZDtcblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZXMudGVzdCh2YWx1ZSkgJiYgKGJyb3dzZXJOYW1lID09PSAnZmlyZWZveCcgJiYgYnJvd3NlclZlcnNpb24gPCAxNiB8fCBicm93c2VyTmFtZSA9PT0gJ2Nocm9tZScgJiYgYnJvd3NlclZlcnNpb24gPCAyNiB8fCAoYnJvd3Nlck5hbWUgPT09ICdzYWZhcmknIHx8IGJyb3dzZXJOYW1lID09PSAnaW9zX3NhZicpICYmIGJyb3dzZXJWZXJzaW9uIDwgNyB8fCAoYnJvd3Nlck5hbWUgPT09ICdvcGVyYScgfHwgYnJvd3Nlck5hbWUgPT09ICdvcF9taW5pJykgJiYgYnJvd3NlclZlcnNpb24gPCAxMi4xIHx8IGJyb3dzZXJOYW1lID09PSAnYW5kcm9pZCcgJiYgYnJvd3NlclZlcnNpb24gPCA0LjQgfHwgYnJvd3Nlck5hbWUgPT09ICdhbmRfdWMnKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlLnJlcGxhY2UodmFsdWVzLCBmdW5jdGlvbiAoZ3JhZCkge1xuICAgICAgcmV0dXJuIGNzc1ByZWZpeCArIGdyYWQ7XG4gICAgfSksIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js\n"); /***/ }), @@ -355,7 +319,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === \"string\" && value.indexOf(\"image-set(\") > -1 && (browserName === \"chrome\" || browserName === \"opera\" || browserName === \"and_chr\" || browserName === \"and_uc\" || browserName === \"ios_saf\" || browserName === \"safari\")) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + \"image-set(\"), value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvaW1hZ2VTZXQuanM/MmJmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9pbWFnZVNldC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gaW1hZ2VTZXQ7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9nZXRQcmVmaXhlZFZhbHVlXCIpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGltYWdlU2V0KHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUuaW5kZXhPZihcImltYWdlLXNldChcIikgPiAtMSAmJiAoYnJvd3Nlck5hbWUgPT09IFwiY2hyb21lXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwib3BlcmFcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJhbmRfY2hyXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwiYW5kX3VjXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwiaW9zX3NhZlwiIHx8IGJyb3dzZXJOYW1lID09PSBcInNhZmFyaVwiKSkge1xuICAgIHJldHVybiAoMCwgX2dldFByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlLnJlcGxhY2UoL2ltYWdlLXNldFxcKC9nLCBjc3NQcmVmaXggKyBcImltYWdlLXNldChcIiksIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + 'image-set('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvaW1hZ2VTZXQuanM/MmJmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9pbWFnZVNldC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGltYWdlU2V0O1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCcuLi8uLi91dGlscy9nZXRQcmVmaXhlZFZhbHVlJyk7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gaW1hZ2VTZXQocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQ7XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5kZXhPZignaW1hZ2Utc2V0KCcpID4gLTEgJiYgKGJyb3dzZXJOYW1lID09PSAnY2hyb21lJyB8fCBicm93c2VyTmFtZSA9PT0gJ29wZXJhJyB8fCBicm93c2VyTmFtZSA9PT0gJ2FuZF9jaHInIHx8IGJyb3dzZXJOYW1lID09PSAnYW5kX3VjJyB8fCBicm93c2VyTmFtZSA9PT0gJ2lvc19zYWYnIHx8IGJyb3dzZXJOYW1lID09PSAnc2FmYXJpJykpIHtcbiAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZS5yZXBsYWNlKC9pbWFnZS1zZXRcXCgvZywgY3NzUHJlZml4ICsgJ2ltYWdlLXNldCgnKSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js\n"); /***/ }), @@ -367,7 +331,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === \"position\" && value === \"sticky\" && (browserName === \"safari\" || browserName === \"ios_saf\")) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvcG9zaXRpb24uanM/M2Y3NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9wb3NpdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gcG9zaXRpb247XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9nZXRQcmVmaXhlZFZhbHVlXCIpO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZ2V0UHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIHBvc2l0aW9uKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGJyb3dzZXJOYW1lID0gX3JlZi5icm93c2VyTmFtZSxcbiAgICAgIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIGlmIChwcm9wZXJ0eSA9PT0gXCJwb3NpdGlvblwiICYmIHZhbHVlID09PSBcInN0aWNreVwiICYmIChicm93c2VyTmFtZSA9PT0gXCJzYWZhcmlcIiB8fCBicm93c2VyTmFtZSA9PT0gXCJpb3Nfc2FmXCIpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/position.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvcG9zaXRpb24uanM/M2Y3NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHdCQUF3QixtQkFBTyxDQUFDLG9HQUE4Qjs7QUFFOUQ7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9wb3NpdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHBvc2l0aW9uO1xuXG52YXIgX2dldFByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCcuLi8uLi91dGlscy9nZXRQcmVmaXhlZFZhbHVlJyk7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gcG9zaXRpb24ocHJvcGVydHksIHZhbHVlLCBzdHlsZSwgX3JlZikge1xuICB2YXIgYnJvd3Nlck5hbWUgPSBfcmVmLmJyb3dzZXJOYW1lLFxuICAgICAgY3NzUHJlZml4ID0gX3JlZi5jc3NQcmVmaXgsXG4gICAgICBrZWVwVW5wcmVmaXhlZCA9IF9yZWYua2VlcFVucHJlZml4ZWQ7XG5cbiAgaWYgKHByb3BlcnR5ID09PSAncG9zaXRpb24nICYmIHZhbHVlID09PSAnc3RpY2t5JyAmJiAoYnJvd3Nlck5hbWUgPT09ICdzYWZhcmknIHx8IGJyb3dzZXJOYW1lID09PSAnaW9zX3NhZicpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/position.js\n"); /***/ }), @@ -379,7 +343,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n \"min-content\": true,\n \"max-content\": true,\n \"fill-available\": true,\n \"fit-content\": true,\n \"contain-floats\": true\n};\n\n// TODO: chrome & opera support it\nfunction sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvc2l6aW5nLmpzP2QzMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9zaXppbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHNpemluZztcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nZXRQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByb3BlcnRpZXMgPSB7XG4gIG1heEhlaWdodDogdHJ1ZSxcbiAgbWF4V2lkdGg6IHRydWUsXG4gIHdpZHRoOiB0cnVlLFxuICBoZWlnaHQ6IHRydWUsXG4gIGNvbHVtbldpZHRoOiB0cnVlLFxuICBtaW5XaWR0aDogdHJ1ZSxcbiAgbWluSGVpZ2h0OiB0cnVlXG59O1xuXG52YXIgdmFsdWVzID0ge1xuICBcIm1pbi1jb250ZW50XCI6IHRydWUsXG4gIFwibWF4LWNvbnRlbnRcIjogdHJ1ZSxcbiAgXCJmaWxsLWF2YWlsYWJsZVwiOiB0cnVlLFxuICBcImZpdC1jb250ZW50XCI6IHRydWUsXG4gIFwiY29udGFpbi1mbG9hdHNcIjogdHJ1ZVxufTtcblxuLy8gVE9ETzogY2hyb21lICYgb3BlcmEgc3VwcG9ydCBpdFxuZnVuY3Rpb24gc2l6aW5nKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkO1xuXG4gIC8vIFRoaXMgbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmVcbiAgLy8gS2VlcCBhbiBleWUgb24gaXRcbiAgaWYgKHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpICYmIHZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gKDAsIF9nZXRQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KShjc3NQcmVmaXggKyB2YWx1ZSwgdmFsdWUsIGtlZXBVbnByZWZpeGVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ \"./node_modules/inline-style-prefixer/utils/getPrefixedValue.js\");\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n\n // TODO: chrome & opera support it\n};function sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvc2l6aW5nLmpzP2QzMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxvR0FBOEI7O0FBRTlEOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL2R5bmFtaWMvcGx1Z2lucy9zaXppbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBzaXppbmc7XG5cbnZhciBfZ2V0UHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2dldFByZWZpeGVkVmFsdWUnKTtcblxudmFyIF9nZXRQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2dldFByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgbWF4SGVpZ2h0OiB0cnVlLFxuICBtYXhXaWR0aDogdHJ1ZSxcbiAgd2lkdGg6IHRydWUsXG4gIGhlaWdodDogdHJ1ZSxcbiAgY29sdW1uV2lkdGg6IHRydWUsXG4gIG1pbldpZHRoOiB0cnVlLFxuICBtaW5IZWlnaHQ6IHRydWVcbn07XG5cbnZhciB2YWx1ZXMgPSB7XG4gICdtaW4tY29udGVudCc6IHRydWUsXG4gICdtYXgtY29udGVudCc6IHRydWUsXG4gICdmaWxsLWF2YWlsYWJsZSc6IHRydWUsXG4gICdmaXQtY29udGVudCc6IHRydWUsXG4gICdjb250YWluLWZsb2F0cyc6IHRydWVcblxuICAvLyBUT0RPOiBjaHJvbWUgJiBvcGVyYSBzdXBwb3J0IGl0XG59O2Z1bmN0aW9uIHNpemluZyhwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZDtcblxuICAvLyBUaGlzIG1pZ2h0IGNoYW5nZSBpbiB0aGUgZnV0dXJlXG4gIC8vIEtlZXAgYW4gZXllIG9uIGl0XG4gIGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpKSB7XG4gICAgcmV0dXJuICgwLCBfZ2V0UHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkoY3NzUHJlZml4ICsgdmFsdWUsIHZhbHVlLCBrZWVwVW5wcmVmaXhlZCk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js\n"); /***/ }), @@ -391,7 +355,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ \"./node_modules/css-in-js-utils/lib/hyphenateProperty.js\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === \"string\" && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== \"order\") {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? \",\" + val : \"\");\n }\n });\n });\n\n return multipleValues.join(\",\");\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvdHJhbnNpdGlvbi5qcz85YjI1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEseUJBQXlCLG1CQUFPLENBQUMsc0dBQXVDOztBQUV4RTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL3RyYW5zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHRyYW5zaXRpb247XG5cbnZhciBfaHlwaGVuYXRlUHJvcGVydHkgPSByZXF1aXJlKFwiY3NzLWluLWpzLXV0aWxzL2xpYi9oeXBoZW5hdGVQcm9wZXJ0eVwiKTtcblxudmFyIF9oeXBoZW5hdGVQcm9wZXJ0eTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9oeXBoZW5hdGVQcm9wZXJ0eSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICB0cmFuc2l0aW9uOiB0cnVlLFxuICB0cmFuc2l0aW9uUHJvcGVydHk6IHRydWUsXG4gIFdlYmtpdFRyYW5zaXRpb246IHRydWUsXG4gIFdlYmtpdFRyYW5zaXRpb25Qcm9wZXJ0eTogdHJ1ZSxcbiAgTW96VHJhbnNpdGlvbjogdHJ1ZSxcbiAgTW96VHJhbnNpdGlvblByb3BlcnR5OiB0cnVlXG59O1xuXG5cbnZhciByZXF1aXJlc1ByZWZpeERhc2hDYXNlZCA9IHZvaWQgMDtcblxuZnVuY3Rpb24gdHJhbnNpdGlvbihwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBfcmVmKSB7XG4gIHZhciBjc3NQcmVmaXggPSBfcmVmLmNzc1ByZWZpeCxcbiAgICAgIGtlZXBVbnByZWZpeGVkID0gX3JlZi5rZWVwVW5wcmVmaXhlZCxcbiAgICAgIHJlcXVpcmVzUHJlZml4ID0gX3JlZi5yZXF1aXJlc1ByZWZpeDtcblxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgLy8gbWVtb2l6ZSB0aGUgcHJlZml4IGFycmF5IGZvciBsYXRlciB1c2VcbiAgICBpZiAoIXJlcXVpcmVzUHJlZml4RGFzaENhc2VkKSB7XG4gICAgICByZXF1aXJlc1ByZWZpeERhc2hDYXNlZCA9IE9iamVjdC5rZXlzKHJlcXVpcmVzUHJlZml4KS5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgcmV0dXJuICgwLCBfaHlwaGVuYXRlUHJvcGVydHkyLmRlZmF1bHQpKHByb3ApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gb25seSBzcGxpdCBtdWx0aSB2YWx1ZXMsIG5vdCBjdWJpYyBiZXppZXJzXG4gICAgdmFyIG11bHRpcGxlVmFsdWVzID0gdmFsdWUuc3BsaXQoLywoPyFbXigpXSooPzpcXChbXigpXSpcXCkpP1xcKSkvZyk7XG5cbiAgICByZXF1aXJlc1ByZWZpeERhc2hDYXNlZC5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBtdWx0aXBsZVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWwsIGluZGV4KSB7XG4gICAgICAgIGlmICh2YWwuaW5kZXhPZihwcm9wKSA+IC0xICYmIHByb3AgIT09IFwib3JkZXJcIikge1xuICAgICAgICAgIG11bHRpcGxlVmFsdWVzW2luZGV4XSA9IHZhbC5yZXBsYWNlKHByb3AsIGNzc1ByZWZpeCArIHByb3ApICsgKGtlZXBVbnByZWZpeGVkID8gXCIsXCIgKyB2YWwgOiBcIlwiKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbXVsdGlwbGVWYWx1ZXMuam9pbihcIixcIik7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/transition.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ \"./node_modules/css-in-js-utils/lib/hyphenateProperty.js\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : '');\n }\n });\n });\n\n return multipleValues.join(',');\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL3BsdWdpbnMvdHJhbnNpdGlvbi5qcz85YjI1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEseUJBQXlCLG1CQUFPLENBQUMsc0dBQXVDOztBQUV4RTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9wbHVnaW5zL3RyYW5zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB0cmFuc2l0aW9uO1xuXG52YXIgX2h5cGhlbmF0ZVByb3BlcnR5ID0gcmVxdWlyZSgnY3NzLWluLWpzLXV0aWxzL2xpYi9oeXBoZW5hdGVQcm9wZXJ0eScpO1xuXG52YXIgX2h5cGhlbmF0ZVByb3BlcnR5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2h5cGhlbmF0ZVByb3BlcnR5KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByb3BlcnRpZXMgPSB7XG4gIHRyYW5zaXRpb246IHRydWUsXG4gIHRyYW5zaXRpb25Qcm9wZXJ0eTogdHJ1ZSxcbiAgV2Via2l0VHJhbnNpdGlvbjogdHJ1ZSxcbiAgV2Via2l0VHJhbnNpdGlvblByb3BlcnR5OiB0cnVlLFxuICBNb3pUcmFuc2l0aW9uOiB0cnVlLFxuICBNb3pUcmFuc2l0aW9uUHJvcGVydHk6IHRydWVcbn07XG5cblxudmFyIHJlcXVpcmVzUHJlZml4RGFzaENhc2VkID0gdm9pZCAwO1xuXG5mdW5jdGlvbiB0cmFuc2l0aW9uKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIF9yZWYpIHtcbiAgdmFyIGNzc1ByZWZpeCA9IF9yZWYuY3NzUHJlZml4LFxuICAgICAga2VlcFVucHJlZml4ZWQgPSBfcmVmLmtlZXBVbnByZWZpeGVkLFxuICAgICAgcmVxdWlyZXNQcmVmaXggPSBfcmVmLnJlcXVpcmVzUHJlZml4O1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgLy8gbWVtb2l6ZSB0aGUgcHJlZml4IGFycmF5IGZvciBsYXRlciB1c2VcbiAgICBpZiAoIXJlcXVpcmVzUHJlZml4RGFzaENhc2VkKSB7XG4gICAgICByZXF1aXJlc1ByZWZpeERhc2hDYXNlZCA9IE9iamVjdC5rZXlzKHJlcXVpcmVzUHJlZml4KS5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgcmV0dXJuICgwLCBfaHlwaGVuYXRlUHJvcGVydHkyLmRlZmF1bHQpKHByb3ApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gb25seSBzcGxpdCBtdWx0aSB2YWx1ZXMsIG5vdCBjdWJpYyBiZXppZXJzXG4gICAgdmFyIG11bHRpcGxlVmFsdWVzID0gdmFsdWUuc3BsaXQoLywoPyFbXigpXSooPzpcXChbXigpXSpcXCkpP1xcKSkvZyk7XG5cbiAgICByZXF1aXJlc1ByZWZpeERhc2hDYXNlZC5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBtdWx0aXBsZVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWwsIGluZGV4KSB7XG4gICAgICAgIGlmICh2YWwuaW5kZXhPZihwcm9wKSA+IC0xICYmIHByb3AgIT09ICdvcmRlcicpIHtcbiAgICAgICAgICBtdWx0aXBsZVZhbHVlc1tpbmRleF0gPSB2YWwucmVwbGFjZShwcm9wLCBjc3NQcmVmaXggKyBwcm9wKSArIChrZWVwVW5wcmVmaXhlZCA/ICcsJyArIHZhbCA6ICcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbXVsdGlwbGVWYWx1ZXMuam9pbignLCcpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/dynamic/plugins/transition.js\n"); /***/ }), @@ -403,7 +367,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = __webpack_require__(/*! ../utils/prefixProperty */ \"./node_modules/inline-style-prefixer/utils/prefixProperty.js\");\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ \"./node_modules/inline-style-prefixer/utils/prefixValue.js\");\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ \"./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js\");\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = __webpack_require__(/*! ../utils/isObject */ \"./node_modules/inline-style-prefixer/utils/isObject.js\");\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvY3JlYXRlUHJlZml4ZXIuanM/MWVhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHNCQUFzQixtQkFBTyxDQUFDLDZGQUF5Qjs7QUFFdkQ7O0FBRUEsbUJBQW1CLG1CQUFPLENBQUMsdUZBQXNCOztBQUVqRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxpR0FBMkI7O0FBRTNEOztBQUVBLGdCQUFnQixtQkFBTyxDQUFDLGlGQUFtQjs7QUFFM0M7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsMkNBQTJDLFNBQVM7QUFDcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9jcmVhdGVQcmVmaXhlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY3JlYXRlUHJlZml4ZXI7XG5cbnZhciBfcHJlZml4UHJvcGVydHkgPSByZXF1aXJlKFwiLi4vdXRpbHMvcHJlZml4UHJvcGVydHlcIik7XG5cbnZhciBfcHJlZml4UHJvcGVydHkyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJlZml4UHJvcGVydHkpO1xuXG52YXIgX3ByZWZpeFZhbHVlID0gcmVxdWlyZShcIi4uL3V0aWxzL3ByZWZpeFZhbHVlXCIpO1xuXG52YXIgX3ByZWZpeFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeFZhbHVlKTtcblxudmFyIF9hZGROZXdWYWx1ZXNPbmx5ID0gcmVxdWlyZShcIi4uL3V0aWxzL2FkZE5ld1ZhbHVlc09ubHlcIik7XG5cbnZhciBfYWRkTmV3VmFsdWVzT25seTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hZGROZXdWYWx1ZXNPbmx5KTtcblxudmFyIF9pc09iamVjdCA9IHJlcXVpcmUoXCIuLi91dGlscy9pc09iamVjdFwiKTtcblxudmFyIF9pc09iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc09iamVjdCk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGNyZWF0ZVByZWZpeGVyKF9yZWYpIHtcbiAgdmFyIHByZWZpeE1hcCA9IF9yZWYucHJlZml4TWFwLFxuICAgICAgcGx1Z2lucyA9IF9yZWYucGx1Z2lucztcblxuICBmdW5jdGlvbiBwcmVmaXhBbGwoc3R5bGUpIHtcbiAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzdHlsZSkge1xuICAgICAgdmFyIHZhbHVlID0gc3R5bGVbcHJvcGVydHldO1xuXG4gICAgICAvLyBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgIGlmICgoMCwgX2lzT2JqZWN0Mi5kZWZhdWx0KSh2YWx1ZSkpIHtcbiAgICAgICAgc3R5bGVbcHJvcGVydHldID0gcHJlZml4QWxsKHZhbHVlKTtcbiAgICAgICAgLy8gaGFuZGxlIGFycmF5IHZhbHVlc1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YXIgY29tYmluZWRWYWx1ZSA9IFtdO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB2YWx1ZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgIHZhciBwcm9jZXNzZWRWYWx1ZSA9ICgwLCBfcHJlZml4VmFsdWUyLmRlZmF1bHQpKHBsdWdpbnMsIHByb3BlcnR5LCB2YWx1ZVtpXSwgc3R5bGUsIHByZWZpeE1hcCk7XG4gICAgICAgICAgKDAsIF9hZGROZXdWYWx1ZXNPbmx5Mi5kZWZhdWx0KShjb21iaW5lZFZhbHVlLCBwcm9jZXNzZWRWYWx1ZSB8fCB2YWx1ZVtpXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvbmx5IG1vZGlmeSB0aGUgdmFsdWUgaWYgaXQgd2FzIHRvdWNoZWRcbiAgICAgICAgLy8gYnkgYW55IHBsdWdpbiB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IG11dGF0aW9uc1xuICAgICAgICBpZiAoY29tYmluZWRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc3R5bGVbcHJvcGVydHldID0gY29tYmluZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIF9wcm9jZXNzZWRWYWx1ZSA9ICgwLCBfcHJlZml4VmFsdWUyLmRlZmF1bHQpKHBsdWdpbnMsIHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIHByZWZpeE1hcCk7XG5cbiAgICAgICAgLy8gb25seSBtb2RpZnkgdGhlIHZhbHVlIGlmIGl0IHdhcyB0b3VjaGVkXG4gICAgICAgIC8vIGJ5IGFueSBwbHVnaW4gdG8gcHJldmVudCB1bm5lY2Vzc2FyeSBtdXRhdGlvbnNcbiAgICAgICAgaWYgKF9wcm9jZXNzZWRWYWx1ZSkge1xuICAgICAgICAgIHN0eWxlW3Byb3BlcnR5XSA9IF9wcm9jZXNzZWRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlID0gKDAsIF9wcmVmaXhQcm9wZXJ0eTIuZGVmYXVsdCkocHJlZml4TWFwLCBwcm9wZXJ0eSwgc3R5bGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIHJldHVybiBwcmVmaXhBbGw7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/createPrefixer.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = __webpack_require__(/*! ../utils/prefixProperty */ \"./node_modules/inline-style-prefixer/utils/prefixProperty.js\");\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ \"./node_modules/inline-style-prefixer/utils/prefixValue.js\");\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ \"./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js\");\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = __webpack_require__(/*! ../utils/isObject */ \"./node_modules/inline-style-prefixer/utils/isObject.js\");\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvY3JlYXRlUHJlZml4ZXIuanM/MWVhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHNCQUFzQixtQkFBTyxDQUFDLDZGQUF5Qjs7QUFFdkQ7O0FBRUEsbUJBQW1CLG1CQUFPLENBQUMsdUZBQXNCOztBQUVqRDs7QUFFQSx3QkFBd0IsbUJBQU8sQ0FBQyxpR0FBMkI7O0FBRTNEOztBQUVBLGdCQUFnQixtQkFBTyxDQUFDLGlGQUFtQjs7QUFFM0M7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsMkNBQTJDLFNBQVM7QUFDcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9jcmVhdGVQcmVmaXhlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGNyZWF0ZVByZWZpeGVyO1xuXG52YXIgX3ByZWZpeFByb3BlcnR5ID0gcmVxdWlyZSgnLi4vdXRpbHMvcHJlZml4UHJvcGVydHknKTtcblxudmFyIF9wcmVmaXhQcm9wZXJ0eTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wcmVmaXhQcm9wZXJ0eSk7XG5cbnZhciBfcHJlZml4VmFsdWUgPSByZXF1aXJlKCcuLi91dGlscy9wcmVmaXhWYWx1ZScpO1xuXG52YXIgX3ByZWZpeFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3ByZWZpeFZhbHVlKTtcblxudmFyIF9hZGROZXdWYWx1ZXNPbmx5ID0gcmVxdWlyZSgnLi4vdXRpbHMvYWRkTmV3VmFsdWVzT25seScpO1xuXG52YXIgX2FkZE5ld1ZhbHVlc09ubHkyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYWRkTmV3VmFsdWVzT25seSk7XG5cbnZhciBfaXNPYmplY3QgPSByZXF1aXJlKCcuLi91dGlscy9pc09iamVjdCcpO1xuXG52YXIgX2lzT2JqZWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lzT2JqZWN0KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gY3JlYXRlUHJlZml4ZXIoX3JlZikge1xuICB2YXIgcHJlZml4TWFwID0gX3JlZi5wcmVmaXhNYXAsXG4gICAgICBwbHVnaW5zID0gX3JlZi5wbHVnaW5zO1xuXG4gIGZ1bmN0aW9uIHByZWZpeEFsbChzdHlsZSkge1xuICAgIGZvciAodmFyIHByb3BlcnR5IGluIHN0eWxlKSB7XG4gICAgICB2YXIgdmFsdWUgPSBzdHlsZVtwcm9wZXJ0eV07XG5cbiAgICAgIC8vIGhhbmRsZSBuZXN0ZWQgb2JqZWN0c1xuICAgICAgaWYgKCgwLCBfaXNPYmplY3QyLmRlZmF1bHQpKHZhbHVlKSkge1xuICAgICAgICBzdHlsZVtwcm9wZXJ0eV0gPSBwcmVmaXhBbGwodmFsdWUpO1xuICAgICAgICAvLyBoYW5kbGUgYXJyYXkgdmFsdWVzXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHZhciBjb21iaW5lZFZhbHVlID0gW107XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHZhbHVlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgICAgdmFyIHByb2Nlc3NlZFZhbHVlID0gKDAsIF9wcmVmaXhWYWx1ZTIuZGVmYXVsdCkocGx1Z2lucywgcHJvcGVydHksIHZhbHVlW2ldLCBzdHlsZSwgcHJlZml4TWFwKTtcbiAgICAgICAgICAoMCwgX2FkZE5ld1ZhbHVlc09ubHkyLmRlZmF1bHQpKGNvbWJpbmVkVmFsdWUsIHByb2Nlc3NlZFZhbHVlIHx8IHZhbHVlW2ldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG9ubHkgbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCB3YXMgdG91Y2hlZFxuICAgICAgICAvLyBieSBhbnkgcGx1Z2luIHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgbXV0YXRpb25zXG4gICAgICAgIGlmIChjb21iaW5lZFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzdHlsZVtwcm9wZXJ0eV0gPSBjb21iaW5lZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgX3Byb2Nlc3NlZFZhbHVlID0gKDAsIF9wcmVmaXhWYWx1ZTIuZGVmYXVsdCkocGx1Z2lucywgcHJvcGVydHksIHZhbHVlLCBzdHlsZSwgcHJlZml4TWFwKTtcblxuICAgICAgICAvLyBvbmx5IG1vZGlmeSB0aGUgdmFsdWUgaWYgaXQgd2FzIHRvdWNoZWRcbiAgICAgICAgLy8gYnkgYW55IHBsdWdpbiB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IG11dGF0aW9uc1xuICAgICAgICBpZiAoX3Byb2Nlc3NlZFZhbHVlKSB7XG4gICAgICAgICAgc3R5bGVbcHJvcGVydHldID0gX3Byb2Nlc3NlZFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUgPSAoMCwgX3ByZWZpeFByb3BlcnR5Mi5kZWZhdWx0KShwcmVmaXhNYXAsIHByb3BlcnR5LCBzdHlsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeEFsbDtcbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/createPrefixer.js\n"); /***/ }), @@ -415,7 +379,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = [\"-webkit-\", \"-moz-\", \"\"];\nfunction calc(property, value) {\n if (typeof value === \"string\" && !(0, _isPrefixedValue2.default)(value) && value.indexOf(\"calc(\") > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + \"calc(\");\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jYWxjLmpzP2ZjMjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx1QkFBdUIsbUJBQU8sQ0FBQyxrR0FBcUM7O0FBRXBFOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvY2FsYy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY2FsYztcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUgPSByZXF1aXJlKFwiY3NzLWluLWpzLXV0aWxzL2xpYi9pc1ByZWZpeGVkVmFsdWVcIik7XG5cbnZhciBfaXNQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lzUHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhlcyA9IFtcIi13ZWJraXQtXCIsIFwiLW1vei1cIiwgXCJcIl07XG5mdW5jdGlvbiBjYWxjKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmICEoMCwgX2lzUHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUpICYmIHZhbHVlLmluZGV4T2YoXCJjYWxjKFwiKSA+IC0xKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLm1hcChmdW5jdGlvbiAocHJlZml4KSB7XG4gICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvY2FsY1xcKC9nLCBwcmVmaXggKyBcImNhbGMoXCIpO1xuICAgIH0pO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/calc.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\nfunction calc(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jYWxjLmpzP2ZjMjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx1QkFBdUIsbUJBQU8sQ0FBQyxrR0FBcUM7O0FBRXBFOztBQUVBLHNDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvY2FsYy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGNhbGM7XG5cbnZhciBfaXNQcmVmaXhlZFZhbHVlID0gcmVxdWlyZSgnY3NzLWluLWpzLXV0aWxzL2xpYi9pc1ByZWZpeGVkVmFsdWUnKTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByZWZpeGVzID0gWyctd2Via2l0LScsICctbW96LScsICcnXTtcbmZ1bmN0aW9uIGNhbGMocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICEoMCwgX2lzUHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUpICYmIHZhbHVlLmluZGV4T2YoJ2NhbGMoJykgPiAtMSkge1xuICAgIHJldHVybiBwcmVmaXhlcy5tYXAoZnVuY3Rpb24gKHByZWZpeCkge1xuICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL2NhbGNcXCgvZywgcHJlZml4ICsgJ2NhbGMoJyk7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/calc.js\n"); /***/ }), @@ -427,7 +391,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = [\"-webkit-\", \"\"];\nfunction crossFade(property, value) {\n if (typeof value === \"string\" && !(0, _isPrefixedValue2.default)(value) && value.indexOf(\"cross-fade(\") > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + \"cross-fade(\");\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jcm9zc0ZhZGUuanM/YWFmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL2Nyb3NzRmFkZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY3Jvc3NGYWRlO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoXCJjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLy8gaHR0cDovL2Nhbml1c2UuY29tLyNzZWFyY2g9Y3Jvc3MtZmFkZVxudmFyIHByZWZpeGVzID0gW1wiLXdlYmtpdC1cIiwgXCJcIl07XG5mdW5jdGlvbiBjcm9zc0ZhZGUocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgISgwLCBfaXNQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZSkgJiYgdmFsdWUuaW5kZXhPZihcImNyb3NzLWZhZGUoXCIpID4gLTEpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9jcm9zcy1mYWRlXFwoL2csIHByZWZpeCArIFwiY3Jvc3MtZmFkZShcIik7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/crossFade.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jcm9zc0ZhZGUuanM/YWFmOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL2Nyb3NzRmFkZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGNyb3NzRmFkZTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCdjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vLyBodHRwOi8vY2FuaXVzZS5jb20vI3NlYXJjaD1jcm9zcy1mYWRlXG52YXIgcHJlZml4ZXMgPSBbJy13ZWJraXQtJywgJyddO1xuZnVuY3Rpb24gY3Jvc3NGYWRlKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhKDAsIF9pc1ByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCdjcm9zcy1mYWRlKCcpID4gLTEpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9jcm9zcy1mYWRlXFwoL2csIHByZWZpeCArICdjcm9zcy1mYWRlKCcpO1xuICAgIH0pO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/crossFade.js\n"); /***/ }), @@ -439,7 +403,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = [\"-webkit-\", \"-moz-\", \"\"];\n\nvar values = {\n \"zoom-in\": true,\n \"zoom-out\": true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === \"cursor\" && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jdXJzb3IuanM/ODY4OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvY3Vyc29yLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBjdXJzb3I7XG52YXIgcHJlZml4ZXMgPSBbXCItd2Via2l0LVwiLCBcIi1tb3otXCIsIFwiXCJdO1xuXG52YXIgdmFsdWVzID0ge1xuICBcInpvb20taW5cIjogdHJ1ZSxcbiAgXCJ6b29tLW91dFwiOiB0cnVlLFxuICBncmFiOiB0cnVlLFxuICBncmFiYmluZzogdHJ1ZVxufTtcblxuZnVuY3Rpb24gY3Vyc29yKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAocHJvcGVydHkgPT09IFwiY3Vyc29yXCIgJiYgdmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSkge1xuICAgIHJldHVybiBwcmVmaXhlcy5tYXAoZnVuY3Rpb24gKHByZWZpeCkge1xuICAgICAgcmV0dXJuIHByZWZpeCArIHZhbHVlO1xuICAgIH0pO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/cursor.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9jdXJzb3IuanM/ODY4OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvY3Vyc29yLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gY3Vyc29yO1xudmFyIHByZWZpeGVzID0gWyctd2Via2l0LScsICctbW96LScsICcnXTtcblxudmFyIHZhbHVlcyA9IHtcbiAgJ3pvb20taW4nOiB0cnVlLFxuICAnem9vbS1vdXQnOiB0cnVlLFxuICBncmFiOiB0cnVlLFxuICBncmFiYmluZzogdHJ1ZVxufTtcblxuZnVuY3Rpb24gY3Vyc29yKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAocHJvcGVydHkgPT09ICdjdXJzb3InICYmIHZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiBwcmVmaXggKyB2YWx1ZTtcbiAgICB9KTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/cursor.js\n"); /***/ }), @@ -451,7 +415,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = [\"-webkit-\", \"\"];\nfunction filter(property, value) {\n if (typeof value === \"string\" && !(0, _isPrefixedValue2.default)(value) && value.indexOf(\"filter(\") > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + \"filter(\");\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9maWx0ZXIuanM/ZWQ5MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL2ZpbHRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmlsdGVyO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoXCJjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLy8gaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1maWx0ZXItZnVuY3Rpb25cbnZhciBwcmVmaXhlcyA9IFtcIi13ZWJraXQtXCIsIFwiXCJdO1xuZnVuY3Rpb24gZmlsdGVyKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmICEoMCwgX2lzUHJlZml4ZWRWYWx1ZTIuZGVmYXVsdCkodmFsdWUpICYmIHZhbHVlLmluZGV4T2YoXCJmaWx0ZXIoXCIpID4gLTEpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9maWx0ZXJcXCgvZywgcHJlZml4ICsgXCJmaWx0ZXIoXCIpO1xuICAgIH0pO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/filter.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9maWx0ZXIuanM/ZWQ5MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL2ZpbHRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGZpbHRlcjtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCdjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vLyBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWZpbHRlci1mdW5jdGlvblxudmFyIHByZWZpeGVzID0gWyctd2Via2l0LScsICcnXTtcbmZ1bmN0aW9uIGZpbHRlcihwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgISgwLCBfaXNQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZSkgJiYgdmFsdWUuaW5kZXhPZignZmlsdGVyKCcpID4gLTEpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9maWx0ZXJcXCgvZywgcHJlZml4ICsgJ2ZpbHRlcignKTtcbiAgICB9KTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/filter.js\n"); /***/ }), @@ -463,7 +427,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: [\"-webkit-box\", \"-moz-box\", \"-ms-flexbox\", \"-webkit-flex\", \"flex\"],\n \"inline-flex\": [\"-webkit-inline-box\", \"-moz-inline-box\", \"-ms-inline-flexbox\", \"-webkit-inline-flex\", \"inline-flex\"]\n};\n\nfunction flex(property, value) {\n if (property === \"display\" && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4LmpzP2Y1ZWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvZmxleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleDtcbnZhciB2YWx1ZXMgPSB7XG4gIGZsZXg6IFtcIi13ZWJraXQtYm94XCIsIFwiLW1vei1ib3hcIiwgXCItbXMtZmxleGJveFwiLCBcIi13ZWJraXQtZmxleFwiLCBcImZsZXhcIl0sXG4gIFwiaW5saW5lLWZsZXhcIjogW1wiLXdlYmtpdC1pbmxpbmUtYm94XCIsIFwiLW1vei1pbmxpbmUtYm94XCIsIFwiLW1zLWlubGluZS1mbGV4Ym94XCIsIFwiLXdlYmtpdC1pbmxpbmUtZmxleFwiLCBcImlubGluZS1mbGV4XCJdXG59O1xuXG5mdW5jdGlvbiBmbGV4KHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAocHJvcGVydHkgPT09IFwiZGlzcGxheVwiICYmIHZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWVzW3ZhbHVlXTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flex.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4LmpzP2Y1ZWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvZmxleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGZsZXg7XG52YXIgdmFsdWVzID0ge1xuICBmbGV4OiBbJy13ZWJraXQtYm94JywgJy1tb3otYm94JywgJy1tcy1mbGV4Ym94JywgJy13ZWJraXQtZmxleCcsICdmbGV4J10sXG4gICdpbmxpbmUtZmxleCc6IFsnLXdlYmtpdC1pbmxpbmUtYm94JywgJy1tb3otaW5saW5lLWJveCcsICctbXMtaW5saW5lLWZsZXhib3gnLCAnLXdlYmtpdC1pbmxpbmUtZmxleCcsICdpbmxpbmUtZmxleCddXG59O1xuXG5mdW5jdGlvbiBmbGV4KHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAocHJvcGVydHkgPT09ICdkaXNwbGF5JyAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlc1t2YWx1ZV07XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flex.js\n"); /***/ }), @@ -475,7 +439,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n \"space-around\": \"distribute\",\n \"space-between\": \"justify\",\n \"flex-start\": \"start\",\n \"flex-end\": \"end\"\n};\nvar alternativeProps = {\n alignContent: \"msFlexLinePack\",\n alignSelf: \"msFlexItemAlign\",\n alignItems: \"msFlexAlign\",\n justifyContent: \"msFlexPack\",\n order: \"msFlexOrder\",\n flexGrow: \"msFlexPositive\",\n flexShrink: \"msFlexNegative\",\n flexBasis: \"msFlexPreferredSize\"\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94SUUuanM/YWZhMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94SUUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGZsZXhib3hJRTtcbnZhciBhbHRlcm5hdGl2ZVZhbHVlcyA9IHtcbiAgXCJzcGFjZS1hcm91bmRcIjogXCJkaXN0cmlidXRlXCIsXG4gIFwic3BhY2UtYmV0d2VlblwiOiBcImp1c3RpZnlcIixcbiAgXCJmbGV4LXN0YXJ0XCI6IFwic3RhcnRcIixcbiAgXCJmbGV4LWVuZFwiOiBcImVuZFwiXG59O1xudmFyIGFsdGVybmF0aXZlUHJvcHMgPSB7XG4gIGFsaWduQ29udGVudDogXCJtc0ZsZXhMaW5lUGFja1wiLFxuICBhbGlnblNlbGY6IFwibXNGbGV4SXRlbUFsaWduXCIsXG4gIGFsaWduSXRlbXM6IFwibXNGbGV4QWxpZ25cIixcbiAganVzdGlmeUNvbnRlbnQ6IFwibXNGbGV4UGFja1wiLFxuICBvcmRlcjogXCJtc0ZsZXhPcmRlclwiLFxuICBmbGV4R3JvdzogXCJtc0ZsZXhQb3NpdGl2ZVwiLFxuICBmbGV4U2hyaW5rOiBcIm1zRmxleE5lZ2F0aXZlXCIsXG4gIGZsZXhCYXNpczogXCJtc0ZsZXhQcmVmZXJyZWRTaXplXCJcbn07XG5cbmZ1bmN0aW9uIGZsZXhib3hJRShwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlKSB7XG4gIGlmIChhbHRlcm5hdGl2ZVByb3BzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgIHN0eWxlW2FsdGVybmF0aXZlUHJvcHNbcHJvcGVydHldXSA9IGFsdGVybmF0aXZlVmFsdWVzW3ZhbHVlXSB8fCB2YWx1ZTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94SUUuanM/YWZhMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94SUUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBmbGV4Ym94SUU7XG52YXIgYWx0ZXJuYXRpdmVWYWx1ZXMgPSB7XG4gICdzcGFjZS1hcm91bmQnOiAnZGlzdHJpYnV0ZScsXG4gICdzcGFjZS1iZXR3ZWVuJzogJ2p1c3RpZnknLFxuICAnZmxleC1zdGFydCc6ICdzdGFydCcsXG4gICdmbGV4LWVuZCc6ICdlbmQnXG59O1xudmFyIGFsdGVybmF0aXZlUHJvcHMgPSB7XG4gIGFsaWduQ29udGVudDogJ21zRmxleExpbmVQYWNrJyxcbiAgYWxpZ25TZWxmOiAnbXNGbGV4SXRlbUFsaWduJyxcbiAgYWxpZ25JdGVtczogJ21zRmxleEFsaWduJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdtc0ZsZXhQYWNrJyxcbiAgb3JkZXI6ICdtc0ZsZXhPcmRlcicsXG4gIGZsZXhHcm93OiAnbXNGbGV4UG9zaXRpdmUnLFxuICBmbGV4U2hyaW5rOiAnbXNGbGV4TmVnYXRpdmUnLFxuICBmbGV4QmFzaXM6ICdtc0ZsZXhQcmVmZXJyZWRTaXplJ1xufTtcblxuZnVuY3Rpb24gZmxleGJveElFKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUpIHtcbiAgaWYgKGFsdGVybmF0aXZlUHJvcHMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgc3R5bGVbYWx0ZXJuYXRpdmVQcm9wc1twcm9wZXJ0eV1dID0gYWx0ZXJuYXRpdmVWYWx1ZXNbdmFsdWVdIHx8IHZhbHVlO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js\n"); /***/ }), @@ -487,7 +451,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n \"space-around\": \"justify\",\n \"space-between\": \"justify\",\n \"flex-start\": \"start\",\n \"flex-end\": \"end\",\n \"wrap-reverse\": \"multiple\",\n wrap: \"multiple\"\n};\n\nvar alternativeProps = {\n alignItems: \"WebkitBoxAlign\",\n justifyContent: \"WebkitBoxPack\",\n flexWrap: \"WebkitBoxLines\"\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === \"flexDirection\" && typeof value === \"string\") {\n if (value.indexOf(\"column\") > -1) {\n style.WebkitBoxOrient = \"vertical\";\n } else {\n style.WebkitBoxOrient = \"horizontal\";\n }\n if (value.indexOf(\"reverse\") > -1) {\n style.WebkitBoxDirection = \"reverse\";\n } else {\n style.WebkitBoxDirection = \"normal\";\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94T2xkLmpzP2NhZGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94T2xkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBmbGV4Ym94T2xkO1xudmFyIGFsdGVybmF0aXZlVmFsdWVzID0ge1xuICBcInNwYWNlLWFyb3VuZFwiOiBcImp1c3RpZnlcIixcbiAgXCJzcGFjZS1iZXR3ZWVuXCI6IFwianVzdGlmeVwiLFxuICBcImZsZXgtc3RhcnRcIjogXCJzdGFydFwiLFxuICBcImZsZXgtZW5kXCI6IFwiZW5kXCIsXG4gIFwid3JhcC1yZXZlcnNlXCI6IFwibXVsdGlwbGVcIixcbiAgd3JhcDogXCJtdWx0aXBsZVwiXG59O1xuXG52YXIgYWx0ZXJuYXRpdmVQcm9wcyA9IHtcbiAgYWxpZ25JdGVtczogXCJXZWJraXRCb3hBbGlnblwiLFxuICBqdXN0aWZ5Q29udGVudDogXCJXZWJraXRCb3hQYWNrXCIsXG4gIGZsZXhXcmFwOiBcIldlYmtpdEJveExpbmVzXCJcbn07XG5cbmZ1bmN0aW9uIGZsZXhib3hPbGQocHJvcGVydHksIHZhbHVlLCBzdHlsZSkge1xuICBpZiAocHJvcGVydHkgPT09IFwiZmxleERpcmVjdGlvblwiICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGlmICh2YWx1ZS5pbmRleE9mKFwiY29sdW1uXCIpID4gLTEpIHtcbiAgICAgIHN0eWxlLldlYmtpdEJveE9yaWVudCA9IFwidmVydGljYWxcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuV2Via2l0Qm94T3JpZW50ID0gXCJob3Jpem9udGFsXCI7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5pbmRleE9mKFwicmV2ZXJzZVwiKSA+IC0xKSB7XG4gICAgICBzdHlsZS5XZWJraXRCb3hEaXJlY3Rpb24gPSBcInJldmVyc2VcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuV2Via2l0Qm94RGlyZWN0aW9uID0gXCJub3JtYWxcIjtcbiAgICB9XG4gIH1cbiAgaWYgKGFsdGVybmF0aXZlUHJvcHMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgc3R5bGVbYWx0ZXJuYXRpdmVQcm9wc1twcm9wZXJ0eV1dID0gYWx0ZXJuYXRpdmVWYWx1ZXNbdmFsdWVdIHx8IHZhbHVlO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94T2xkLmpzP2NhZGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9mbGV4Ym94T2xkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZmxleGJveE9sZDtcbnZhciBhbHRlcm5hdGl2ZVZhbHVlcyA9IHtcbiAgJ3NwYWNlLWFyb3VuZCc6ICdqdXN0aWZ5JyxcbiAgJ3NwYWNlLWJldHdlZW4nOiAnanVzdGlmeScsXG4gICdmbGV4LXN0YXJ0JzogJ3N0YXJ0JyxcbiAgJ2ZsZXgtZW5kJzogJ2VuZCcsXG4gICd3cmFwLXJldmVyc2UnOiAnbXVsdGlwbGUnLFxuICB3cmFwOiAnbXVsdGlwbGUnLFxuICBmbGV4OiAnYm94JyxcbiAgJ2lubGluZS1mbGV4JzogJ2lubGluZS1ib3gnXG59O1xuXG52YXIgYWx0ZXJuYXRpdmVQcm9wcyA9IHtcbiAgYWxpZ25JdGVtczogJ1dlYmtpdEJveEFsaWduJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdXZWJraXRCb3hQYWNrJyxcbiAgZmxleFdyYXA6ICdXZWJraXRCb3hMaW5lcycsXG4gIGZsZXhHcm93OiAnV2Via2l0Qm94RmxleCdcbn07XG5cbmZ1bmN0aW9uIGZsZXhib3hPbGQocHJvcGVydHksIHZhbHVlLCBzdHlsZSkge1xuICBpZiAocHJvcGVydHkgPT09ICdmbGV4RGlyZWN0aW9uJyAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHZhbHVlLmluZGV4T2YoJ2NvbHVtbicpID4gLTEpIHtcbiAgICAgIHN0eWxlLldlYmtpdEJveE9yaWVudCA9ICd2ZXJ0aWNhbCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlLldlYmtpdEJveE9yaWVudCA9ICdob3Jpem9udGFsJztcbiAgICB9XG4gICAgaWYgKHZhbHVlLmluZGV4T2YoJ3JldmVyc2UnKSA+IC0xKSB7XG4gICAgICBzdHlsZS5XZWJraXRCb3hEaXJlY3Rpb24gPSAncmV2ZXJzZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlLldlYmtpdEJveERpcmVjdGlvbiA9ICdub3JtYWwnO1xuICAgIH1cbiAgfVxuICBpZiAoYWx0ZXJuYXRpdmVQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICBzdHlsZVthbHRlcm5hdGl2ZVByb3BzW3Byb3BlcnR5XV0gPSBhbHRlcm5hdGl2ZVZhbHVlc1t2YWx1ZV0gfHwgdmFsdWU7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js\n"); /***/ }), @@ -499,7 +463,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = [\"-webkit-\", \"-moz-\", \"\"];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;\n\nfunction gradient(property, value) {\n if (typeof value === \"string\" && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9ncmFkaWVudC5qcz9lOWZhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsdUJBQXVCLG1CQUFPLENBQUMsa0dBQXFDOztBQUVwRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9ncmFkaWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gZ3JhZGllbnQ7XG5cbnZhciBfaXNQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcImNzcy1pbi1qcy11dGlscy9saWIvaXNQcmVmaXhlZFZhbHVlXCIpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4ZXMgPSBbXCItd2Via2l0LVwiLCBcIi1tb3otXCIsIFwiXCJdO1xuXG52YXIgdmFsdWVzID0gL2xpbmVhci1ncmFkaWVudHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudHxyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50LztcblxuZnVuY3Rpb24gZ3JhZGllbnQocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgISgwLCBfaXNQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZSkgJiYgdmFsdWVzLnRlc3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLm1hcChmdW5jdGlvbiAocHJlZml4KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgdmFsdWU7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/gradient.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9ncmFkaWVudC5qcz9lOWZhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsdUJBQXVCLG1CQUFPLENBQUMsa0dBQXFDOztBQUVwRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9ncmFkaWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGdyYWRpZW50O1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoJ2Nzcy1pbi1qcy11dGlscy9saWIvaXNQcmVmaXhlZFZhbHVlJyk7XG5cbnZhciBfaXNQcmVmaXhlZFZhbHVlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2lzUHJlZml4ZWRWYWx1ZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhlcyA9IFsnLXdlYmtpdC0nLCAnLW1vei0nLCAnJ107XG5cbnZhciB2YWx1ZXMgPSAvbGluZWFyLWdyYWRpZW50fHJhZGlhbC1ncmFkaWVudHxyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50fHJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQvZ2k7XG5cbmZ1bmN0aW9uIGdyYWRpZW50KHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhKDAsIF9pc1ByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlKSAmJiB2YWx1ZXMudGVzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gcHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKHZhbHVlcywgZnVuY3Rpb24gKGdyYWQpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIGdyYWQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/gradient.js\n"); /***/ }), @@ -511,7 +475,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = [\"-webkit-\", \"\"];\nfunction imageSet(property, value) {\n if (typeof value === \"string\" && !(0, _isPrefixedValue2.default)(value) && value.indexOf(\"image-set(\") > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + \"image-set(\");\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9pbWFnZVNldC5qcz9kOGExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsdUJBQXVCLG1CQUFPLENBQUMsa0dBQXFDOztBQUVwRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvaW1hZ2VTZXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGltYWdlU2V0O1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZSA9IHJlcXVpcmUoXCJjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZVwiKTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaXNQcmVmaXhlZFZhbHVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLy8gaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1pbWFnZS1zZXRcbnZhciBwcmVmaXhlcyA9IFtcIi13ZWJraXQtXCIsIFwiXCJdO1xuZnVuY3Rpb24gaW1hZ2VTZXQocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgISgwLCBfaXNQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZSkgJiYgdmFsdWUuaW5kZXhPZihcImltYWdlLXNldChcIikgPiAtMSkge1xuICAgIHJldHVybiBwcmVmaXhlcy5tYXAoZnVuY3Rpb24gKHByZWZpeCkge1xuICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL2ltYWdlLXNldFxcKC9nLCBwcmVmaXggKyBcImltYWdlLXNldChcIik7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/imageSet.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9pbWFnZVNldC5qcz9kOGExIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsdUJBQXVCLG1CQUFPLENBQUMsa0dBQXFDOztBQUVwRTs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvc3RhdGljL3BsdWdpbnMvaW1hZ2VTZXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBpbWFnZVNldDtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCdjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vLyBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWltYWdlLXNldFxudmFyIHByZWZpeGVzID0gWyctd2Via2l0LScsICcnXTtcbmZ1bmN0aW9uIGltYWdlU2V0KHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhKDAsIF9pc1ByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCdpbWFnZS1zZXQoJykgPiAtMSkge1xuICAgIHJldHVybiBwcmVmaXhlcy5tYXAoZnVuY3Rpb24gKHByZWZpeCkge1xuICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL2ltYWdlLXNldFxcKC9nLCBwcmVmaXggKyAnaW1hZ2Utc2V0KCcpO1xuICAgIH0pO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/imageSet.js\n"); /***/ }), @@ -523,7 +487,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === \"position\" && value === \"sticky\") {\n return [\"-webkit-sticky\", \"sticky\"];\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9wb3NpdGlvbi5qcz84NDBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL3Bvc2l0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBwb3NpdGlvbjtcbmZ1bmN0aW9uIHBvc2l0aW9uKHByb3BlcnR5LCB2YWx1ZSkge1xuICBpZiAocHJvcGVydHkgPT09IFwicG9zaXRpb25cIiAmJiB2YWx1ZSA9PT0gXCJzdGlja3lcIikge1xuICAgIHJldHVybiBbXCItd2Via2l0LXN0aWNreVwiLCBcInN0aWNreVwiXTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/position.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9wb3NpdGlvbi5qcz84NDBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL3Bvc2l0aW9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gcG9zaXRpb247XG5mdW5jdGlvbiBwb3NpdGlvbihwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgaWYgKHByb3BlcnR5ID09PSAncG9zaXRpb24nICYmIHZhbHVlID09PSAnc3RpY2t5Jykge1xuICAgIHJldHVybiBbJy13ZWJraXQtc3RpY2t5JywgJ3N0aWNreSddO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/position.js\n"); /***/ }), @@ -535,7 +499,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = [\"-webkit-\", \"-moz-\", \"\"];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n \"min-content\": true,\n \"max-content\": true,\n \"fill-available\": true,\n \"fit-content\": true,\n \"contain-floats\": true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9zaXppbmcuanM/Yjk1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9zaXppbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHNpemluZztcbnZhciBwcmVmaXhlcyA9IFtcIi13ZWJraXQtXCIsIFwiLW1vei1cIiwgXCJcIl07XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICBtYXhIZWlnaHQ6IHRydWUsXG4gIG1heFdpZHRoOiB0cnVlLFxuICB3aWR0aDogdHJ1ZSxcbiAgaGVpZ2h0OiB0cnVlLFxuICBjb2x1bW5XaWR0aDogdHJ1ZSxcbiAgbWluV2lkdGg6IHRydWUsXG4gIG1pbkhlaWdodDogdHJ1ZVxufTtcbnZhciB2YWx1ZXMgPSB7XG4gIFwibWluLWNvbnRlbnRcIjogdHJ1ZSxcbiAgXCJtYXgtY29udGVudFwiOiB0cnVlLFxuICBcImZpbGwtYXZhaWxhYmxlXCI6IHRydWUsXG4gIFwiZml0LWNvbnRlbnRcIjogdHJ1ZSxcbiAgXCJjb250YWluLWZsb2F0c1wiOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBzaXppbmcocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLm1hcChmdW5jdGlvbiAocHJlZml4KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgdmFsdWU7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/sizing.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9zaXppbmcuanM/Yjk1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy9zaXppbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBzaXppbmc7XG52YXIgcHJlZml4ZXMgPSBbJy13ZWJraXQtJywgJy1tb3otJywgJyddO1xuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgbWF4SGVpZ2h0OiB0cnVlLFxuICBtYXhXaWR0aDogdHJ1ZSxcbiAgd2lkdGg6IHRydWUsXG4gIGhlaWdodDogdHJ1ZSxcbiAgY29sdW1uV2lkdGg6IHRydWUsXG4gIG1pbldpZHRoOiB0cnVlLFxuICBtaW5IZWlnaHQ6IHRydWVcbn07XG52YXIgdmFsdWVzID0ge1xuICAnbWluLWNvbnRlbnQnOiB0cnVlLFxuICAnbWF4LWNvbnRlbnQnOiB0cnVlLFxuICAnZmlsbC1hdmFpbGFibGUnOiB0cnVlLFxuICAnZml0LWNvbnRlbnQnOiB0cnVlLFxuICAnY29udGFpbi1mbG9hdHMnOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBzaXppbmcocHJvcGVydHksIHZhbHVlKSB7XG4gIGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLm1hcChmdW5jdGlvbiAocHJlZml4KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgdmFsdWU7XG4gICAgfSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/sizing.js\n"); /***/ }), @@ -547,7 +511,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ \"./node_modules/css-in-js-utils/lib/hyphenateProperty.js\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = __webpack_require__(/*! ../../utils/capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: \"-webkit-\",\n Moz: \"-moz-\",\n ms: \"-ms-\"\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== \"order\") {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(\",\");\n }\n\n return multipleValues.join(\",\");\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === \"string\" && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(\",\");\n\n if (property.indexOf(\"Webkit\") > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(\",\");\n\n if (property.indexOf(\"Moz\") > -1) {\n return mozOutput;\n }\n\n style[\"Webkit\" + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style[\"Moz\" + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy90cmFuc2l0aW9uLmpzPzczNGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx5QkFBeUIsbUJBQU8sQ0FBQyxzR0FBdUM7O0FBRXhFOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QyxTQUFTO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQ0FBK0MsVUFBVTtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL3RyYW5zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHRyYW5zaXRpb247XG5cbnZhciBfaHlwaGVuYXRlUHJvcGVydHkgPSByZXF1aXJlKFwiY3NzLWluLWpzLXV0aWxzL2xpYi9oeXBoZW5hdGVQcm9wZXJ0eVwiKTtcblxudmFyIF9oeXBoZW5hdGVQcm9wZXJ0eTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9oeXBoZW5hdGVQcm9wZXJ0eSk7XG5cbnZhciBfaXNQcmVmaXhlZFZhbHVlID0gcmVxdWlyZShcImNzcy1pbi1qcy11dGlscy9saWIvaXNQcmVmaXhlZFZhbHVlXCIpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG52YXIgX2NhcGl0YWxpemVTdHJpbmcgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvY2FwaXRhbGl6ZVN0cmluZ1wiKTtcblxudmFyIF9jYXBpdGFsaXplU3RyaW5nMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NhcGl0YWxpemVTdHJpbmcpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgdHJhbnNpdGlvbjogdHJ1ZSxcbiAgdHJhbnNpdGlvblByb3BlcnR5OiB0cnVlLFxuICBXZWJraXRUcmFuc2l0aW9uOiB0cnVlLFxuICBXZWJraXRUcmFuc2l0aW9uUHJvcGVydHk6IHRydWUsXG4gIE1velRyYW5zaXRpb246IHRydWUsXG4gIE1velRyYW5zaXRpb25Qcm9wZXJ0eTogdHJ1ZVxufTtcblxuXG52YXIgcHJlZml4TWFwcGluZyA9IHtcbiAgV2Via2l0OiBcIi13ZWJraXQtXCIsXG4gIE1vejogXCItbW96LVwiLFxuICBtczogXCItbXMtXCJcbn07XG5cbmZ1bmN0aW9uIHByZWZpeFZhbHVlKHZhbHVlLCBwcm9wZXJ0eVByZWZpeE1hcCkge1xuICBpZiAoKDAsIF9pc1ByZWZpeGVkVmFsdWUyLmRlZmF1bHQpKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8vIG9ubHkgc3BsaXQgbXVsdGkgdmFsdWVzLCBub3QgY3ViaWMgYmV6aWVyc1xuICB2YXIgbXVsdGlwbGVWYWx1ZXMgPSB2YWx1ZS5zcGxpdCgvLCg/IVteKCldKig/OlxcKFteKCldKlxcKSk/XFwpKS9nKTtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gbXVsdGlwbGVWYWx1ZXMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICB2YXIgc2luZ2xlVmFsdWUgPSBtdWx0aXBsZVZhbHVlc1tpXTtcbiAgICB2YXIgdmFsdWVzID0gW3NpbmdsZVZhbHVlXTtcbiAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBwcm9wZXJ0eVByZWZpeE1hcCkge1xuICAgICAgdmFyIGRhc2hDYXNlUHJvcGVydHkgPSAoMCwgX2h5cGhlbmF0ZVByb3BlcnR5Mi5kZWZhdWx0KShwcm9wZXJ0eSk7XG5cbiAgICAgIGlmIChzaW5nbGVWYWx1ZS5pbmRleE9mKGRhc2hDYXNlUHJvcGVydHkpID4gLTEgJiYgZGFzaENhc2VQcm9wZXJ0eSAhPT0gXCJvcmRlclwiKSB7XG4gICAgICAgIHZhciBwcmVmaXhlcyA9IHByb3BlcnR5UHJlZml4TWFwW3Byb3BlcnR5XTtcbiAgICAgICAgZm9yICh2YXIgaiA9IDAsIHBMZW4gPSBwcmVmaXhlcy5sZW5ndGg7IGogPCBwTGVuOyArK2opIHtcbiAgICAgICAgICAvLyBqb2luIGFsbCBwcmVmaXhlcyBhbmQgY3JlYXRlIGEgbmV3IHZhbHVlXG4gICAgICAgICAgdmFsdWVzLnVuc2hpZnQoc2luZ2xlVmFsdWUucmVwbGFjZShkYXNoQ2FzZVByb3BlcnR5LCBwcmVmaXhNYXBwaW5nW3ByZWZpeGVzW2pdXSArIGRhc2hDYXNlUHJvcGVydHkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG11bHRpcGxlVmFsdWVzW2ldID0gdmFsdWVzLmpvaW4oXCIsXCIpO1xuICB9XG5cbiAgcmV0dXJuIG11bHRpcGxlVmFsdWVzLmpvaW4oXCIsXCIpO1xufVxuXG5mdW5jdGlvbiB0cmFuc2l0aW9uKHByb3BlcnR5LCB2YWx1ZSwgc3R5bGUsIHByb3BlcnR5UHJlZml4TWFwKSB7XG4gIC8vIGFsc28gY2hlY2sgZm9yIGFscmVhZHkgcHJlZml4ZWQgdHJhbnNpdGlvbnNcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgIHZhciBvdXRwdXRWYWx1ZSA9IHByZWZpeFZhbHVlKHZhbHVlLCBwcm9wZXJ0eVByZWZpeE1hcCk7XG4gICAgLy8gaWYgdGhlIHByb3BlcnR5IGlzIGFscmVhZHkgcHJlZml4ZWRcbiAgICB2YXIgd2Via2l0T3V0cHV0ID0gb3V0cHV0VmFsdWUuc3BsaXQoLywoPyFbXigpXSooPzpcXChbXigpXSpcXCkpP1xcKSkvZykuZmlsdGVyKGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgIHJldHVybiAhLy1tb3otfC1tcy0vLnRlc3QodmFsKTtcbiAgICB9KS5qb2luKFwiLFwiKTtcblxuICAgIGlmIChwcm9wZXJ0eS5pbmRleE9mKFwiV2Via2l0XCIpID4gLTEpIHtcbiAgICAgIHJldHVybiB3ZWJraXRPdXRwdXQ7XG4gICAgfVxuXG4gICAgdmFyIG1vek91dHB1dCA9IG91dHB1dFZhbHVlLnNwbGl0KC8sKD8hW14oKV0qKD86XFwoW14oKV0qXFwpKT9cXCkpL2cpLmZpbHRlcihmdW5jdGlvbiAodmFsKSB7XG4gICAgICByZXR1cm4gIS8td2Via2l0LXwtbXMtLy50ZXN0KHZhbCk7XG4gICAgfSkuam9pbihcIixcIik7XG5cbiAgICBpZiAocHJvcGVydHkuaW5kZXhPZihcIk1velwiKSA+IC0xKSB7XG4gICAgICByZXR1cm4gbW96T3V0cHV0O1xuICAgIH1cblxuICAgIHN0eWxlW1wiV2Via2l0XCIgKyAoMCwgX2NhcGl0YWxpemVTdHJpbmcyLmRlZmF1bHQpKHByb3BlcnR5KV0gPSB3ZWJraXRPdXRwdXQ7XG4gICAgc3R5bGVbXCJNb3pcIiArICgwLCBfY2FwaXRhbGl6ZVN0cmluZzIuZGVmYXVsdCkocHJvcGVydHkpXSA9IG1vek91dHB1dDtcbiAgICByZXR1cm4gb3V0cHV0VmFsdWU7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/transition.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ \"./node_modules/css-in-js-utils/lib/hyphenateProperty.js\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ \"./node_modules/css-in-js-utils/lib/isPrefixedValue.js\");\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = __webpack_require__(/*! ../../utils/capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvcGx1Z2lucy90cmFuc2l0aW9uLmpzPzczNGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQSx5QkFBeUIsbUJBQU8sQ0FBQyxzR0FBdUM7O0FBRXhFOztBQUVBLHVCQUF1QixtQkFBTyxDQUFDLGtHQUFxQzs7QUFFcEU7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsb0dBQThCOztBQUU5RDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QyxTQUFTO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQ0FBK0MsVUFBVTtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9wbHVnaW5zL3RyYW5zaXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB0cmFuc2l0aW9uO1xuXG52YXIgX2h5cGhlbmF0ZVByb3BlcnR5ID0gcmVxdWlyZSgnY3NzLWluLWpzLXV0aWxzL2xpYi9oeXBoZW5hdGVQcm9wZXJ0eScpO1xuXG52YXIgX2h5cGhlbmF0ZVByb3BlcnR5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2h5cGhlbmF0ZVByb3BlcnR5KTtcblxudmFyIF9pc1ByZWZpeGVkVmFsdWUgPSByZXF1aXJlKCdjc3MtaW4tanMtdXRpbHMvbGliL2lzUHJlZml4ZWRWYWx1ZScpO1xuXG52YXIgX2lzUHJlZml4ZWRWYWx1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1ByZWZpeGVkVmFsdWUpO1xuXG52YXIgX2NhcGl0YWxpemVTdHJpbmcgPSByZXF1aXJlKCcuLi8uLi91dGlscy9jYXBpdGFsaXplU3RyaW5nJyk7XG5cbnZhciBfY2FwaXRhbGl6ZVN0cmluZzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jYXBpdGFsaXplU3RyaW5nKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHByb3BlcnRpZXMgPSB7XG4gIHRyYW5zaXRpb246IHRydWUsXG4gIHRyYW5zaXRpb25Qcm9wZXJ0eTogdHJ1ZSxcbiAgV2Via2l0VHJhbnNpdGlvbjogdHJ1ZSxcbiAgV2Via2l0VHJhbnNpdGlvblByb3BlcnR5OiB0cnVlLFxuICBNb3pUcmFuc2l0aW9uOiB0cnVlLFxuICBNb3pUcmFuc2l0aW9uUHJvcGVydHk6IHRydWVcbn07XG5cblxudmFyIHByZWZpeE1hcHBpbmcgPSB7XG4gIFdlYmtpdDogJy13ZWJraXQtJyxcbiAgTW96OiAnLW1vei0nLFxuICBtczogJy1tcy0nXG59O1xuXG5mdW5jdGlvbiBwcmVmaXhWYWx1ZSh2YWx1ZSwgcHJvcGVydHlQcmVmaXhNYXApIHtcbiAgaWYgKCgwLCBfaXNQcmVmaXhlZFZhbHVlMi5kZWZhdWx0KSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICAvLyBvbmx5IHNwbGl0IG11bHRpIHZhbHVlcywgbm90IGN1YmljIGJlemllcnNcbiAgdmFyIG11bHRpcGxlVmFsdWVzID0gdmFsdWUuc3BsaXQoLywoPyFbXigpXSooPzpcXChbXigpXSpcXCkpP1xcKSkvZyk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IG11bHRpcGxlVmFsdWVzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgdmFyIHNpbmdsZVZhbHVlID0gbXVsdGlwbGVWYWx1ZXNbaV07XG4gICAgdmFyIHZhbHVlcyA9IFtzaW5nbGVWYWx1ZV07XG4gICAgZm9yICh2YXIgcHJvcGVydHkgaW4gcHJvcGVydHlQcmVmaXhNYXApIHtcbiAgICAgIHZhciBkYXNoQ2FzZVByb3BlcnR5ID0gKDAsIF9oeXBoZW5hdGVQcm9wZXJ0eTIuZGVmYXVsdCkocHJvcGVydHkpO1xuXG4gICAgICBpZiAoc2luZ2xlVmFsdWUuaW5kZXhPZihkYXNoQ2FzZVByb3BlcnR5KSA+IC0xICYmIGRhc2hDYXNlUHJvcGVydHkgIT09ICdvcmRlcicpIHtcbiAgICAgICAgdmFyIHByZWZpeGVzID0gcHJvcGVydHlQcmVmaXhNYXBbcHJvcGVydHldO1xuICAgICAgICBmb3IgKHZhciBqID0gMCwgcExlbiA9IHByZWZpeGVzLmxlbmd0aDsgaiA8IHBMZW47ICsraikge1xuICAgICAgICAgIC8vIGpvaW4gYWxsIHByZWZpeGVzIGFuZCBjcmVhdGUgYSBuZXcgdmFsdWVcbiAgICAgICAgICB2YWx1ZXMudW5zaGlmdChzaW5nbGVWYWx1ZS5yZXBsYWNlKGRhc2hDYXNlUHJvcGVydHksIHByZWZpeE1hcHBpbmdbcHJlZml4ZXNbal1dICsgZGFzaENhc2VQcm9wZXJ0eSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbXVsdGlwbGVWYWx1ZXNbaV0gPSB2YWx1ZXMuam9pbignLCcpO1xuICB9XG5cbiAgcmV0dXJuIG11bHRpcGxlVmFsdWVzLmpvaW4oJywnKTtcbn1cblxuZnVuY3Rpb24gdHJhbnNpdGlvbihwcm9wZXJ0eSwgdmFsdWUsIHN0eWxlLCBwcm9wZXJ0eVByZWZpeE1hcCkge1xuICAvLyBhbHNvIGNoZWNrIGZvciBhbHJlYWR5IHByZWZpeGVkIHRyYW5zaXRpb25zXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgdmFyIG91dHB1dFZhbHVlID0gcHJlZml4VmFsdWUodmFsdWUsIHByb3BlcnR5UHJlZml4TWFwKTtcbiAgICAvLyBpZiB0aGUgcHJvcGVydHkgaXMgYWxyZWFkeSBwcmVmaXhlZFxuICAgIHZhciB3ZWJraXRPdXRwdXQgPSBvdXRwdXRWYWx1ZS5zcGxpdCgvLCg/IVteKCldKig/OlxcKFteKCldKlxcKSk/XFwpKS9nKS5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcmV0dXJuICEvLW1vei18LW1zLS8udGVzdCh2YWwpO1xuICAgIH0pLmpvaW4oJywnKTtcblxuICAgIGlmIChwcm9wZXJ0eS5pbmRleE9mKCdXZWJraXQnKSA+IC0xKSB7XG4gICAgICByZXR1cm4gd2Via2l0T3V0cHV0O1xuICAgIH1cblxuICAgIHZhciBtb3pPdXRwdXQgPSBvdXRwdXRWYWx1ZS5zcGxpdCgvLCg/IVteKCldKig/OlxcKFteKCldKlxcKSk/XFwpKS9nKS5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcmV0dXJuICEvLXdlYmtpdC18LW1zLS8udGVzdCh2YWwpO1xuICAgIH0pLmpvaW4oJywnKTtcblxuICAgIGlmIChwcm9wZXJ0eS5pbmRleE9mKCdNb3onKSA+IC0xKSB7XG4gICAgICByZXR1cm4gbW96T3V0cHV0O1xuICAgIH1cblxuICAgIHN0eWxlWydXZWJraXQnICsgKDAsIF9jYXBpdGFsaXplU3RyaW5nMi5kZWZhdWx0KShwcm9wZXJ0eSldID0gd2Via2l0T3V0cHV0O1xuICAgIHN0eWxlWydNb3onICsgKDAsIF9jYXBpdGFsaXplU3RyaW5nMi5kZWZhdWx0KShwcm9wZXJ0eSldID0gbW96T3V0cHV0O1xuICAgIHJldHVybiBvdXRwdXRWYWx1ZTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/static/plugins/transition.js\n"); /***/ }), @@ -583,7 +547,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = __webpack_require__(/*! bowser */ \"./node_modules/bowser/src/bowser.js\");\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: \"Webkit\",\n safari: \"Webkit\",\n ios: \"Webkit\",\n android: \"Webkit\",\n phantom: \"Webkit\",\n opera: \"Webkit\",\n webos: \"Webkit\",\n blackberry: \"Webkit\",\n bada: \"Webkit\",\n tizen: \"Webkit\",\n chromium: \"Webkit\",\n vivaldi: \"Webkit\",\n firefox: \"Moz\",\n seamoney: \"Moz\",\n sailfish: \"Moz\",\n msie: \"ms\",\n msedge: \"ms\"\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: \"chrome\",\n chromium: \"chrome\",\n safari: \"safari\",\n firfox: \"firefox\",\n msedge: \"edge\",\n opera: \"opera\",\n vivaldi: \"opera\",\n msie: \"ie\"\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return \"firefox\";\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return \"ios_saf\";\n } else if (browserInfo.android) {\n return \"android\";\n } else if (browserInfo.opera) {\n return \"op_mini\";\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, \"\"));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = \"-\" + prefix.toLowerCase() + \"-\";\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === \"ios_saf\" && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === \"android\" && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = \"and_chr\";\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === \"android\" && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === \"android\" && browserInfo.samsungBrowser) {\n browserInfo.browserName = \"and_chr\";\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRCcm93c2VySW5mb3JtYXRpb24uanM/ZmRiNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLGNBQWMsbUJBQU8sQ0FBQyxtREFBUTs7QUFFOUI7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRCcm93c2VySW5mb3JtYXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGdldEJyb3dzZXJJbmZvcm1hdGlvbjtcblxudmFyIF9ib3dzZXIgPSByZXF1aXJlKFwiYm93c2VyXCIpO1xuXG52YXIgX2Jvd3NlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9ib3dzZXIpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgcHJlZml4QnlCcm93c2VyID0ge1xuICBjaHJvbWU6IFwiV2Via2l0XCIsXG4gIHNhZmFyaTogXCJXZWJraXRcIixcbiAgaW9zOiBcIldlYmtpdFwiLFxuICBhbmRyb2lkOiBcIldlYmtpdFwiLFxuICBwaGFudG9tOiBcIldlYmtpdFwiLFxuICBvcGVyYTogXCJXZWJraXRcIixcbiAgd2Vib3M6IFwiV2Via2l0XCIsXG4gIGJsYWNrYmVycnk6IFwiV2Via2l0XCIsXG4gIGJhZGE6IFwiV2Via2l0XCIsXG4gIHRpemVuOiBcIldlYmtpdFwiLFxuICBjaHJvbWl1bTogXCJXZWJraXRcIixcbiAgdml2YWxkaTogXCJXZWJraXRcIixcbiAgZmlyZWZveDogXCJNb3pcIixcbiAgc2VhbW9uZXk6IFwiTW96XCIsXG4gIHNhaWxmaXNoOiBcIk1velwiLFxuICBtc2llOiBcIm1zXCIsXG4gIG1zZWRnZTogXCJtc1wiXG59O1xuXG5cbnZhciBicm93c2VyQnlDYW5JdXNlQWxpYXMgPSB7XG4gIGNocm9tZTogXCJjaHJvbWVcIixcbiAgY2hyb21pdW06IFwiY2hyb21lXCIsXG4gIHNhZmFyaTogXCJzYWZhcmlcIixcbiAgZmlyZm94OiBcImZpcmVmb3hcIixcbiAgbXNlZGdlOiBcImVkZ2VcIixcbiAgb3BlcmE6IFwib3BlcmFcIixcbiAgdml2YWxkaTogXCJvcGVyYVwiLFxuICBtc2llOiBcImllXCJcbn07XG5cbmZ1bmN0aW9uIGdldEJyb3dzZXJOYW1lKGJyb3dzZXJJbmZvKSB7XG4gIGlmIChicm93c2VySW5mby5maXJlZm94KSB7XG4gICAgcmV0dXJuIFwiZmlyZWZveFwiO1xuICB9XG5cbiAgaWYgKGJyb3dzZXJJbmZvLm1vYmlsZSB8fCBicm93c2VySW5mby50YWJsZXQpIHtcbiAgICBpZiAoYnJvd3NlckluZm8uaW9zKSB7XG4gICAgICByZXR1cm4gXCJpb3Nfc2FmXCI7XG4gICAgfSBlbHNlIGlmIChicm93c2VySW5mby5hbmRyb2lkKSB7XG4gICAgICByZXR1cm4gXCJhbmRyb2lkXCI7XG4gICAgfSBlbHNlIGlmIChicm93c2VySW5mby5vcGVyYSkge1xuICAgICAgcmV0dXJuIFwib3BfbWluaVwiO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGJyb3dzZXIgaW4gYnJvd3NlckJ5Q2FuSXVzZUFsaWFzKSB7XG4gICAgaWYgKGJyb3dzZXJJbmZvLmhhc093blByb3BlcnR5KGJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gYnJvd3NlckJ5Q2FuSXVzZUFsaWFzW2Jyb3dzZXJdO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFVzZXMgYm93c2VyIHRvIGdldCBkZWZhdWx0IGJyb3dzZXIgYnJvd3NlckluZm9ybWF0aW9uIHN1Y2ggYXMgdmVyc2lvbiBhbmQgbmFtZVxuICogRXZhbHVhdGVzIGJvd3NlciBicm93c2VySW5mbyBhbmQgYWRkcyB2ZW5kb3JQcmVmaXggYnJvd3NlckluZm9ybWF0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdXNlckFnZW50IC0gdXNlckFnZW50IHRoYXQgZ2V0cyBldmFsdWF0ZWRcbiAqL1xuZnVuY3Rpb24gZ2V0QnJvd3NlckluZm9ybWF0aW9uKHVzZXJBZ2VudCkge1xuICB2YXIgYnJvd3NlckluZm8gPSBfYm93c2VyMi5kZWZhdWx0Ll9kZXRlY3QodXNlckFnZW50KTtcblxuICBpZiAoYnJvd3NlckluZm8ueWFuZGV4YnJvd3Nlcikge1xuICAgIGJyb3dzZXJJbmZvID0gX2Jvd3NlcjIuZGVmYXVsdC5fZGV0ZWN0KHVzZXJBZ2VudC5yZXBsYWNlKC9ZYUJyb3dzZXJcXC9bMC05Ll0qLywgXCJcIikpO1xuICB9XG5cbiAgZm9yICh2YXIgYnJvd3NlciBpbiBwcmVmaXhCeUJyb3dzZXIpIHtcbiAgICBpZiAoYnJvd3NlckluZm8uaGFzT3duUHJvcGVydHkoYnJvd3NlcikpIHtcbiAgICAgIHZhciBwcmVmaXggPSBwcmVmaXhCeUJyb3dzZXJbYnJvd3Nlcl07XG5cbiAgICAgIGJyb3dzZXJJbmZvLmpzUHJlZml4ID0gcHJlZml4O1xuICAgICAgYnJvd3NlckluZm8uY3NzUHJlZml4ID0gXCItXCIgKyBwcmVmaXgudG9Mb3dlckNhc2UoKSArIFwiLVwiO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPSBnZXRCcm93c2VyTmFtZShicm93c2VySW5mbyk7XG5cbiAgLy8gRm9yIGNvcmRvdmEgSU9TIDggdGhlIHZlcnNpb24gaXMgbWlzc2luZywgc2V0IHRydW5jYXRlZCBvc3ZlcnNpb24gdG8gcHJldmVudCBOYU5cbiAgaWYgKGJyb3dzZXJJbmZvLnZlcnNpb24pIHtcbiAgICBicm93c2VySW5mby5icm93c2VyVmVyc2lvbiA9IHBhcnNlRmxvYXQoYnJvd3NlckluZm8udmVyc2lvbik7XG4gIH0gZWxzZSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPSBwYXJzZUludChwYXJzZUZsb2F0KGJyb3dzZXJJbmZvLm9zdmVyc2lvbiksIDEwKTtcbiAgfVxuXG4gIGJyb3dzZXJJbmZvLm9zVmVyc2lvbiA9IHBhcnNlRmxvYXQoYnJvd3NlckluZm8ub3N2ZXJzaW9uKTtcblxuICAvLyBpT1MgZm9yY2VzIGFsbCBicm93c2VycyB0byB1c2UgU2FmYXJpIHVuZGVyIHRoZSBob29kXG4gIC8vIGFzIHRoZSBTYWZhcmkgdmVyc2lvbiBzZWVtcyB0byBtYXRjaCB0aGUgaU9TIHZlcnNpb25cbiAgLy8gd2UganVzdCBleHBsaWNpdGVseSB1c2UgdGhlIG9zdmVyc2lvbiBpbnN0ZWFkXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2ZyaXNjaG1hbm4vaW5saW5lLXN0eWxlLXByZWZpeGVyL2lzc3Vlcy83MlxuICBpZiAoYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPT09IFwiaW9zX3NhZlwiICYmIGJyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uID4gYnJvd3NlckluZm8ub3NWZXJzaW9uKSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPSBicm93c2VySW5mby5vc1ZlcnNpb247XG4gIH1cblxuICAvLyBzZXBlcmF0ZSBuYXRpdmUgYW5kcm9pZCBjaHJvbWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvZnJpc2NobWFubi9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvaXNzdWVzLzQ1XG4gIGlmIChicm93c2VySW5mby5icm93c2VyTmFtZSA9PT0gXCJhbmRyb2lkXCIgJiYgYnJvd3NlckluZm8uY2hyb21lICYmIGJyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uID4gMzcpIHtcbiAgICBicm93c2VySW5mby5icm93c2VyTmFtZSA9IFwiYW5kX2NoclwiO1xuICB9XG5cbiAgLy8gRm9yIGFuZHJvaWQgPCA0LjQgd2Ugd2FudCB0byBjaGVjayB0aGUgb3N2ZXJzaW9uXG4gIC8vIG5vdCB0aGUgY2hyb21lIHZlcnNpb24sIHNlZSBpc3N1ZSAjMjZcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvZnJpc2NobWFubi9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvaXNzdWVzLzI2XG4gIGlmIChicm93c2VySW5mby5icm93c2VyTmFtZSA9PT0gXCJhbmRyb2lkXCIgJiYgYnJvd3NlckluZm8ub3NWZXJzaW9uIDwgNSkge1xuICAgIGJyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uID0gYnJvd3NlckluZm8ub3NWZXJzaW9uO1xuICB9XG5cbiAgLy8gU2Ftc3VuZyBicm93c2VyIGFyZSBiYXNpY2FsbHkgYnVpbGQgb24gQ2hyb21lID4gNDRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvZnJpc2NobWFubi9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvaXNzdWVzLzEwMlxuICBpZiAoYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPT09IFwiYW5kcm9pZFwiICYmIGJyb3dzZXJJbmZvLnNhbXN1bmdCcm93c2VyKSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPSBcImFuZF9jaHJcIjtcbiAgICBicm93c2VySW5mby5icm93c2VyVmVyc2lvbiA9IDQ0O1xuICB9XG5cbiAgcmV0dXJuIGJyb3dzZXJJbmZvO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/getBrowserInformation.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = __webpack_require__(/*! bowser */ \"./node_modules/bowser/src/bowser.js\");\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: 'Webkit',\n safari: 'Webkit',\n ios: 'Webkit',\n android: 'Webkit',\n phantom: 'Webkit',\n opera: 'Webkit',\n webos: 'Webkit',\n blackberry: 'Webkit',\n bada: 'Webkit',\n tizen: 'Webkit',\n chromium: 'Webkit',\n vivaldi: 'Webkit',\n firefox: 'Moz',\n seamoney: 'Moz',\n sailfish: 'Moz',\n msie: 'ms',\n msedge: 'ms'\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: 'chrome',\n chromium: 'chrome',\n safari: 'safari',\n firfox: 'firefox',\n msedge: 'edge',\n opera: 'opera',\n vivaldi: 'opera',\n msie: 'ie'\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return 'firefox';\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return 'ios_saf';\n } else if (browserInfo.android) {\n return 'android';\n } else if (browserInfo.opera) {\n return 'op_mini';\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, ''));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-';\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = 'and_chr';\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) {\n browserInfo.browserName = 'and_chr';\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRCcm93c2VySW5mb3JtYXRpb24uanM/ZmRiNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBLGNBQWMsbUJBQU8sQ0FBQyxtREFBUTs7QUFFOUI7O0FBRUEsc0NBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRCcm93c2VySW5mb3JtYXRpb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBnZXRCcm93c2VySW5mb3JtYXRpb247XG5cbnZhciBfYm93c2VyID0gcmVxdWlyZSgnYm93c2VyJyk7XG5cbnZhciBfYm93c2VyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Jvd3Nlcik7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBwcmVmaXhCeUJyb3dzZXIgPSB7XG4gIGNocm9tZTogJ1dlYmtpdCcsXG4gIHNhZmFyaTogJ1dlYmtpdCcsXG4gIGlvczogJ1dlYmtpdCcsXG4gIGFuZHJvaWQ6ICdXZWJraXQnLFxuICBwaGFudG9tOiAnV2Via2l0JyxcbiAgb3BlcmE6ICdXZWJraXQnLFxuICB3ZWJvczogJ1dlYmtpdCcsXG4gIGJsYWNrYmVycnk6ICdXZWJraXQnLFxuICBiYWRhOiAnV2Via2l0JyxcbiAgdGl6ZW46ICdXZWJraXQnLFxuICBjaHJvbWl1bTogJ1dlYmtpdCcsXG4gIHZpdmFsZGk6ICdXZWJraXQnLFxuICBmaXJlZm94OiAnTW96JyxcbiAgc2VhbW9uZXk6ICdNb3onLFxuICBzYWlsZmlzaDogJ01veicsXG4gIG1zaWU6ICdtcycsXG4gIG1zZWRnZTogJ21zJ1xufTtcblxuXG52YXIgYnJvd3NlckJ5Q2FuSXVzZUFsaWFzID0ge1xuICBjaHJvbWU6ICdjaHJvbWUnLFxuICBjaHJvbWl1bTogJ2Nocm9tZScsXG4gIHNhZmFyaTogJ3NhZmFyaScsXG4gIGZpcmZveDogJ2ZpcmVmb3gnLFxuICBtc2VkZ2U6ICdlZGdlJyxcbiAgb3BlcmE6ICdvcGVyYScsXG4gIHZpdmFsZGk6ICdvcGVyYScsXG4gIG1zaWU6ICdpZSdcbn07XG5cbmZ1bmN0aW9uIGdldEJyb3dzZXJOYW1lKGJyb3dzZXJJbmZvKSB7XG4gIGlmIChicm93c2VySW5mby5maXJlZm94KSB7XG4gICAgcmV0dXJuICdmaXJlZm94JztcbiAgfVxuXG4gIGlmIChicm93c2VySW5mby5tb2JpbGUgfHwgYnJvd3NlckluZm8udGFibGV0KSB7XG4gICAgaWYgKGJyb3dzZXJJbmZvLmlvcykge1xuICAgICAgcmV0dXJuICdpb3Nfc2FmJztcbiAgICB9IGVsc2UgaWYgKGJyb3dzZXJJbmZvLmFuZHJvaWQpIHtcbiAgICAgIHJldHVybiAnYW5kcm9pZCc7XG4gICAgfSBlbHNlIGlmIChicm93c2VySW5mby5vcGVyYSkge1xuICAgICAgcmV0dXJuICdvcF9taW5pJztcbiAgICB9XG4gIH1cblxuICBmb3IgKHZhciBicm93c2VyIGluIGJyb3dzZXJCeUNhbkl1c2VBbGlhcykge1xuICAgIGlmIChicm93c2VySW5mby5oYXNPd25Qcm9wZXJ0eShicm93c2VyKSkge1xuICAgICAgcmV0dXJuIGJyb3dzZXJCeUNhbkl1c2VBbGlhc1ticm93c2VyXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVc2VzIGJvd3NlciB0byBnZXQgZGVmYXVsdCBicm93c2VyIGJyb3dzZXJJbmZvcm1hdGlvbiBzdWNoIGFzIHZlcnNpb24gYW5kIG5hbWVcbiAqIEV2YWx1YXRlcyBib3dzZXIgYnJvd3NlckluZm8gYW5kIGFkZHMgdmVuZG9yUHJlZml4IGJyb3dzZXJJbmZvcm1hdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHVzZXJBZ2VudCAtIHVzZXJBZ2VudCB0aGF0IGdldHMgZXZhbHVhdGVkXG4gKi9cbmZ1bmN0aW9uIGdldEJyb3dzZXJJbmZvcm1hdGlvbih1c2VyQWdlbnQpIHtcbiAgdmFyIGJyb3dzZXJJbmZvID0gX2Jvd3NlcjIuZGVmYXVsdC5fZGV0ZWN0KHVzZXJBZ2VudCk7XG5cbiAgaWYgKGJyb3dzZXJJbmZvLnlhbmRleGJyb3dzZXIpIHtcbiAgICBicm93c2VySW5mbyA9IF9ib3dzZXIyLmRlZmF1bHQuX2RldGVjdCh1c2VyQWdlbnQucmVwbGFjZSgvWWFCcm93c2VyXFwvWzAtOS5dKi8sICcnKSk7XG4gIH1cblxuICBmb3IgKHZhciBicm93c2VyIGluIHByZWZpeEJ5QnJvd3Nlcikge1xuICAgIGlmIChicm93c2VySW5mby5oYXNPd25Qcm9wZXJ0eShicm93c2VyKSkge1xuICAgICAgdmFyIHByZWZpeCA9IHByZWZpeEJ5QnJvd3Nlclticm93c2VyXTtcblxuICAgICAgYnJvd3NlckluZm8uanNQcmVmaXggPSBwcmVmaXg7XG4gICAgICBicm93c2VySW5mby5jc3NQcmVmaXggPSAnLScgKyBwcmVmaXgudG9Mb3dlckNhc2UoKSArICctJztcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGJyb3dzZXJJbmZvLmJyb3dzZXJOYW1lID0gZ2V0QnJvd3Nlck5hbWUoYnJvd3NlckluZm8pO1xuXG4gIC8vIEZvciBjb3Jkb3ZhIElPUyA4IHRoZSB2ZXJzaW9uIGlzIG1pc3NpbmcsIHNldCB0cnVuY2F0ZWQgb3N2ZXJzaW9uIHRvIHByZXZlbnQgTmFOXG4gIGlmIChicm93c2VySW5mby52ZXJzaW9uKSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPSBwYXJzZUZsb2F0KGJyb3dzZXJJbmZvLnZlcnNpb24pO1xuICB9IGVsc2Uge1xuICAgIGJyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uID0gcGFyc2VJbnQocGFyc2VGbG9hdChicm93c2VySW5mby5vc3ZlcnNpb24pLCAxMCk7XG4gIH1cblxuICBicm93c2VySW5mby5vc1ZlcnNpb24gPSBwYXJzZUZsb2F0KGJyb3dzZXJJbmZvLm9zdmVyc2lvbik7XG5cbiAgLy8gaU9TIGZvcmNlcyBhbGwgYnJvd3NlcnMgdG8gdXNlIFNhZmFyaSB1bmRlciB0aGUgaG9vZFxuICAvLyBhcyB0aGUgU2FmYXJpIHZlcnNpb24gc2VlbXMgdG8gbWF0Y2ggdGhlIGlPUyB2ZXJzaW9uXG4gIC8vIHdlIGp1c3QgZXhwbGljaXRlbHkgdXNlIHRoZSBvc3ZlcnNpb24gaW5zdGVhZFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9mcmlzY2htYW5uL2lubGluZS1zdHlsZS1wcmVmaXhlci9pc3N1ZXMvNzJcbiAgaWYgKGJyb3dzZXJJbmZvLmJyb3dzZXJOYW1lID09PSAnaW9zX3NhZicgJiYgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPiBicm93c2VySW5mby5vc1ZlcnNpb24pIHtcbiAgICBicm93c2VySW5mby5icm93c2VyVmVyc2lvbiA9IGJyb3dzZXJJbmZvLm9zVmVyc2lvbjtcbiAgfVxuXG4gIC8vIHNlcGVyYXRlIG5hdGl2ZSBhbmRyb2lkIGNocm9tZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9mcmlzY2htYW5uL2lubGluZS1zdHlsZS1wcmVmaXhlci9pc3N1ZXMvNDVcbiAgaWYgKGJyb3dzZXJJbmZvLmJyb3dzZXJOYW1lID09PSAnYW5kcm9pZCcgJiYgYnJvd3NlckluZm8uY2hyb21lICYmIGJyb3dzZXJJbmZvLmJyb3dzZXJWZXJzaW9uID4gMzcpIHtcbiAgICBicm93c2VySW5mby5icm93c2VyTmFtZSA9ICdhbmRfY2hyJztcbiAgfVxuXG4gIC8vIEZvciBhbmRyb2lkIDwgNC40IHdlIHdhbnQgdG8gY2hlY2sgdGhlIG9zdmVyc2lvblxuICAvLyBub3QgdGhlIGNocm9tZSB2ZXJzaW9uLCBzZWUgaXNzdWUgIzI2XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2ZyaXNjaG1hbm4vaW5saW5lLXN0eWxlLXByZWZpeGVyL2lzc3Vlcy8yNlxuICBpZiAoYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPT09ICdhbmRyb2lkJyAmJiBicm93c2VySW5mby5vc1ZlcnNpb24gPCA1KSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPSBicm93c2VySW5mby5vc1ZlcnNpb247XG4gIH1cblxuICAvLyBTYW1zdW5nIGJyb3dzZXIgYXJlIGJhc2ljYWxseSBidWlsZCBvbiBDaHJvbWUgPiA0NFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9mcmlzY2htYW5uL2lubGluZS1zdHlsZS1wcmVmaXhlci9pc3N1ZXMvMTAyXG4gIGlmIChicm93c2VySW5mby5icm93c2VyTmFtZSA9PT0gJ2FuZHJvaWQnICYmIGJyb3dzZXJJbmZvLnNhbXN1bmdCcm93c2VyKSB7XG4gICAgYnJvd3NlckluZm8uYnJvd3Nlck5hbWUgPSAnYW5kX2Nocic7XG4gICAgYnJvd3NlckluZm8uYnJvd3NlclZlcnNpb24gPSA0NDtcbiAgfVxuXG4gIHJldHVybiBicm93c2VySW5mbztcbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/getBrowserInformation.js\n"); /***/ }), @@ -595,7 +559,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = \"keyframes\";\n\n if (browserName === \"chrome\" && browserVersion < 43 || (browserName === \"safari\" || browserName === \"ios_saf\") && browserVersion < 9 || browserName === \"opera\" && browserVersion < 30 || browserName === \"android\" && browserVersion <= 4.4 || browserName === \"and_uc\") {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRQcmVmaXhlZEtleWZyYW1lcy5qcz8wNjIzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvdXRpbHMvZ2V0UHJlZml4ZWRLZXlmcmFtZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGdldFByZWZpeGVkS2V5ZnJhbWVzO1xuZnVuY3Rpb24gZ2V0UHJlZml4ZWRLZXlmcmFtZXMoYnJvd3Nlck5hbWUsIGJyb3dzZXJWZXJzaW9uLCBjc3NQcmVmaXgpIHtcbiAgdmFyIHByZWZpeGVkS2V5ZnJhbWVzID0gXCJrZXlmcmFtZXNcIjtcblxuICBpZiAoYnJvd3Nlck5hbWUgPT09IFwiY2hyb21lXCIgJiYgYnJvd3NlclZlcnNpb24gPCA0MyB8fCAoYnJvd3Nlck5hbWUgPT09IFwic2FmYXJpXCIgfHwgYnJvd3Nlck5hbWUgPT09IFwiaW9zX3NhZlwiKSAmJiBicm93c2VyVmVyc2lvbiA8IDkgfHwgYnJvd3Nlck5hbWUgPT09IFwib3BlcmFcIiAmJiBicm93c2VyVmVyc2lvbiA8IDMwIHx8IGJyb3dzZXJOYW1lID09PSBcImFuZHJvaWRcIiAmJiBicm93c2VyVmVyc2lvbiA8PSA0LjQgfHwgYnJvd3Nlck5hbWUgPT09IFwiYW5kX3VjXCIpIHtcbiAgICByZXR1cm4gY3NzUHJlZml4ICsgcHJlZml4ZWRLZXlmcmFtZXM7XG4gIH1cbiAgcmV0dXJuIHByZWZpeGVkS2V5ZnJhbWVzO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = 'keyframes';\n\n if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9nZXRQcmVmaXhlZEtleWZyYW1lcy5qcz8wNjIzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvdXRpbHMvZ2V0UHJlZml4ZWRLZXlmcmFtZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBnZXRQcmVmaXhlZEtleWZyYW1lcztcbmZ1bmN0aW9uIGdldFByZWZpeGVkS2V5ZnJhbWVzKGJyb3dzZXJOYW1lLCBicm93c2VyVmVyc2lvbiwgY3NzUHJlZml4KSB7XG4gIHZhciBwcmVmaXhlZEtleWZyYW1lcyA9ICdrZXlmcmFtZXMnO1xuXG4gIGlmIChicm93c2VyTmFtZSA9PT0gJ2Nocm9tZScgJiYgYnJvd3NlclZlcnNpb24gPCA0MyB8fCAoYnJvd3Nlck5hbWUgPT09ICdzYWZhcmknIHx8IGJyb3dzZXJOYW1lID09PSAnaW9zX3NhZicpICYmIGJyb3dzZXJWZXJzaW9uIDwgOSB8fCBicm93c2VyTmFtZSA9PT0gJ29wZXJhJyAmJiBicm93c2VyVmVyc2lvbiA8IDMwIHx8IGJyb3dzZXJOYW1lID09PSAnYW5kcm9pZCcgJiYgYnJvd3NlclZlcnNpb24gPD0gNC40IHx8IGJyb3dzZXJOYW1lID09PSAnYW5kX3VjJykge1xuICAgIHJldHVybiBjc3NQcmVmaXggKyBwcmVmaXhlZEtleWZyYW1lcztcbiAgfVxuICByZXR1cm4gcHJlZml4ZWRLZXlmcmFtZXM7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js\n"); /***/ }), @@ -631,7 +595,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = __webpack_require__(/*! ./capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9wcmVmaXhQcm9wZXJ0eS5qcz83NjM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsMEZBQW9COztBQUVwRDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBO0FBQ0EsdUJBQXVCLDZCQUE2QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvdXRpbHMvcHJlZml4UHJvcGVydHkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHByZWZpeFByb3BlcnR5O1xuXG52YXIgX2NhcGl0YWxpemVTdHJpbmcgPSByZXF1aXJlKFwiLi9jYXBpdGFsaXplU3RyaW5nXCIpO1xuXG52YXIgX2NhcGl0YWxpemVTdHJpbmcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2FwaXRhbGl6ZVN0cmluZyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIHByZWZpeFByb3BlcnR5KHByZWZpeFByb3BlcnRpZXMsIHByb3BlcnR5LCBzdHlsZSkge1xuICBpZiAocHJlZml4UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICB2YXIgbmV3U3R5bGUgPSB7fTtcbiAgICB2YXIgcmVxdWlyZWRQcmVmaXhlcyA9IHByZWZpeFByb3BlcnRpZXNbcHJvcGVydHldO1xuICAgIHZhciBjYXBpdGFsaXplZFByb3BlcnR5ID0gKDAsIF9jYXBpdGFsaXplU3RyaW5nMi5kZWZhdWx0KShwcm9wZXJ0eSk7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhzdHlsZSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc3R5bGVQcm9wZXJ0eSA9IGtleXNbaV07XG4gICAgICBpZiAoc3R5bGVQcm9wZXJ0eSA9PT0gcHJvcGVydHkpIHtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXF1aXJlZFByZWZpeGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgbmV3U3R5bGVbcmVxdWlyZWRQcmVmaXhlc1tqXSArIGNhcGl0YWxpemVkUHJvcGVydHldID0gc3R5bGVbcHJvcGVydHldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBuZXdTdHlsZVtzdHlsZVByb3BlcnR5XSA9IHN0eWxlW3N0eWxlUHJvcGVydHldO1xuICAgIH1cbiAgICByZXR1cm4gbmV3U3R5bGU7XG4gIH1cbiAgcmV0dXJuIHN0eWxlO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/prefixProperty.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = __webpack_require__(/*! ./capitalizeString */ \"./node_modules/inline-style-prefixer/utils/capitalizeString.js\");\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL2lubGluZS1zdHlsZS1wcmVmaXhlci91dGlscy9wcmVmaXhQcm9wZXJ0eS5qcz83NjM4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsd0JBQXdCLG1CQUFPLENBQUMsMEZBQW9COztBQUVwRDs7QUFFQSxzQ0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBO0FBQ0EsdUJBQXVCLDZCQUE2QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvdXRpbHMvcHJlZml4UHJvcGVydHkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBwcmVmaXhQcm9wZXJ0eTtcblxudmFyIF9jYXBpdGFsaXplU3RyaW5nID0gcmVxdWlyZSgnLi9jYXBpdGFsaXplU3RyaW5nJyk7XG5cbnZhciBfY2FwaXRhbGl6ZVN0cmluZzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jYXBpdGFsaXplU3RyaW5nKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gcHJlZml4UHJvcGVydHkocHJlZml4UHJvcGVydGllcywgcHJvcGVydHksIHN0eWxlKSB7XG4gIGlmIChwcmVmaXhQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgIHZhciBuZXdTdHlsZSA9IHt9O1xuICAgIHZhciByZXF1aXJlZFByZWZpeGVzID0gcHJlZml4UHJvcGVydGllc1twcm9wZXJ0eV07XG4gICAgdmFyIGNhcGl0YWxpemVkUHJvcGVydHkgPSAoMCwgX2NhcGl0YWxpemVTdHJpbmcyLmRlZmF1bHQpKHByb3BlcnR5KTtcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHN0eWxlKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzdHlsZVByb3BlcnR5ID0ga2V5c1tpXTtcbiAgICAgIGlmIChzdHlsZVByb3BlcnR5ID09PSBwcm9wZXJ0eSkge1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJlcXVpcmVkUHJlZml4ZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBuZXdTdHlsZVtyZXF1aXJlZFByZWZpeGVzW2pdICsgY2FwaXRhbGl6ZWRQcm9wZXJ0eV0gPSBzdHlsZVtwcm9wZXJ0eV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG5ld1N0eWxlW3N0eWxlUHJvcGVydHldID0gc3R5bGVbc3R5bGVQcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiBuZXdTdHlsZTtcbiAgfVxuICByZXR1cm4gc3R5bGU7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inline-style-prefixer/utils/prefixProperty.js\n"); /***/ }), @@ -964,7 +928,7 @@ eval("/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disa /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n var invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\n var warning = __webpack_require__(/*! fbjs/lib/warning */ \"./node_modules/fbjs/lib/warning.js\");\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanM/YTE1YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QyxrQkFBa0IsbUJBQU8sQ0FBQyxnRUFBb0I7QUFDOUMsZ0JBQWdCLG1CQUFPLENBQUMsNERBQWtCO0FBQzFDLDZCQUE2QixtQkFBTyxDQUFDLHlGQUE0QjtBQUNqRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsVUFBVTtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdHQUFnRztBQUNoRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0dBQWdHO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2NoZWNrUHJvcFR5cGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBpbnZhcmlhbnQgPSByZXF1aXJlKCdmYmpzL2xpYi9pbnZhcmlhbnQnKTtcbiAgdmFyIHdhcm5pbmcgPSByZXF1aXJlKCdmYmpzL2xpYi93YXJuaW5nJyk7XG4gIHZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG4gIHZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbn1cblxuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgdmFsdWVzIG1hdGNoIHdpdGggdGhlIHR5cGUgc3BlY3MuXG4gKiBFcnJvciBtZXNzYWdlcyBhcmUgbWVtb3JpemVkIGFuZCB3aWxsIG9ubHkgYmUgc2hvd24gb25jZS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdHlwZVNwZWNzIE1hcCBvZiBuYW1lIHRvIGEgUmVhY3RQcm9wVHlwZVxuICogQHBhcmFtIHtvYmplY3R9IHZhbHVlcyBSdW50aW1lIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgdHlwZS1jaGVja2VkXG4gKiBAcGFyYW0ge3N0cmluZ30gbG9jYXRpb24gZS5nLiBcInByb3BcIiwgXCJjb250ZXh0XCIsIFwiY2hpbGQgY29udGV4dFwiXG4gKiBAcGFyYW0ge3N0cmluZ30gY29tcG9uZW50TmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgZm9yIGVycm9yIG1lc3NhZ2VzLlxuICogQHBhcmFtIHs/RnVuY3Rpb259IGdldFN0YWNrIFJldHVybnMgdGhlIGNvbXBvbmVudCBzdGFjay5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2spIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAodHlwZVNwZWNzLmhhc093blByb3BlcnR5KHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaW52YXJpYW50KHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSA9PT0gJ2Z1bmN0aW9uJywgJyVzOiAlcyB0eXBlIGAlc2AgaXMgaW52YWxpZDsgaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gJyArICd0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJXNgLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKTtcbiAgICAgICAgICBlcnJvciA9IHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKHZhbHVlcywgdHlwZVNwZWNOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgbnVsbCwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yID0gZXg7XG4gICAgICAgIH1cbiAgICAgICAgd2FybmluZyghZXJyb3IgfHwgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciwgJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yKTtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvci5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvci5tZXNzYWdlXSA9IHRydWU7XG5cbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcblxuICAgICAgICAgIHdhcm5pbmcoZmFsc2UsICdGYWlsZWQgJXMgdHlwZTogJXMlcycsIGxvY2F0aW9uLCBlcnJvci5tZXNzYWdlLCBzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjaGVja1Byb3BUeXBlcztcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/prop-types/checkPropTypes.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanM/YTE1YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUEsSUFBSSxJQUFxQztBQUN6Qyw2QkFBNkIsbUJBQU8sQ0FBQyx5RkFBNEI7QUFDakU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLFVBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFxQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEdBQTRHO0FBQzVHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG4gIHZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcblxuICBwcmludFdhcm5pbmcgPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIHRleHQ7XG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfTtcbn1cblxuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgdmFsdWVzIG1hdGNoIHdpdGggdGhlIHR5cGUgc3BlY3MuXG4gKiBFcnJvciBtZXNzYWdlcyBhcmUgbWVtb3JpemVkIGFuZCB3aWxsIG9ubHkgYmUgc2hvd24gb25jZS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdHlwZVNwZWNzIE1hcCBvZiBuYW1lIHRvIGEgUmVhY3RQcm9wVHlwZVxuICogQHBhcmFtIHtvYmplY3R9IHZhbHVlcyBSdW50aW1lIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgdHlwZS1jaGVja2VkXG4gKiBAcGFyYW0ge3N0cmluZ30gbG9jYXRpb24gZS5nLiBcInByb3BcIiwgXCJjb250ZXh0XCIsIFwiY2hpbGQgY29udGV4dFwiXG4gKiBAcGFyYW0ge3N0cmluZ30gY29tcG9uZW50TmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgZm9yIGVycm9yIG1lc3NhZ2VzLlxuICogQHBhcmFtIHs/RnVuY3Rpb259IGdldFN0YWNrIFJldHVybnMgdGhlIGNvbXBvbmVudCBzdGFjay5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2spIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAodHlwZVNwZWNzLmhhc093blByb3BlcnR5KHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKFxuICAgICAgICAgICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVycm9yID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IgPSBleDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICcgK1xuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAnICsgdHlwZW9mIGVycm9yICsgJy4gJyArXG4gICAgICAgICAgICAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcbiAgICAgICAgICAgICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJ1xuICAgICAgICAgIClcblxuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XG4gICAgICAgICAgLy8gT25seSBtb25pdG9yIHRoaXMgZmFpbHVyZSBvbmNlIGJlY2F1c2UgdGhlcmUgdGVuZHMgdG8gYmUgYSBsb3Qgb2YgdGhlXG4gICAgICAgICAgLy8gc2FtZSBlcnJvci5cbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IubWVzc2FnZV0gPSB0cnVlO1xuXG4gICAgICAgICAgdmFyIHN0YWNrID0gZ2V0U3RhY2sgPyBnZXRTdGFjaygpIDogJyc7XG5cbiAgICAgICAgICBwcmludFdhcm5pbmcoXG4gICAgICAgICAgICAnRmFpbGVkICcgKyBsb2NhdGlvbiArICcgdHlwZTogJyArIGVycm9yLm1lc3NhZ2UgKyAoc3RhY2sgIT0gbnVsbCA/IHN0YWNrIDogJycpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNoZWNrUHJvcFR5cGVzO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/prop-types/checkPropTypes.js\n"); /***/ }), @@ -976,7 +940,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(/*! fbjs/lib/emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\nvar invariant = __webpack_require__(/*! fbjs/lib/invariant */ \"./node_modules/fbjs/lib/invariant.js\");\nvar warning = __webpack_require__(/*! fbjs/lib/warning */ \"./node_modules/fbjs/lib/warning.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (\"development\" !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n true ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : undefined;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanM/YjA3MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsb0JBQW9CLG1CQUFPLENBQUMsd0VBQXdCO0FBQ3BELGdCQUFnQixtQkFBTyxDQUFDLGdFQUFvQjtBQUM1QyxjQUFjLG1CQUFPLENBQUMsNERBQWtCO0FBQ3hDLGFBQWEsbUJBQU8sQ0FBQyw0REFBZTs7QUFFcEMsMkJBQTJCLG1CQUFPLENBQUMseUZBQTRCO0FBQy9ELHFCQUFxQixtQkFBTyxDQUFDLHFFQUFrQjs7QUFFL0M7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1YsNkJBQTZCO0FBQzdCLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixLQUFLO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsNEJBQTRCO0FBQzVCLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLFVBQVUsYUFBb0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsc0JBQXNCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU0sS0FBcUMsMEZBQTBGLFNBQU07QUFDM0k7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCLDJCQUEyQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNLEtBQXFDLDhGQUE4RixTQUFNO0FBQy9JO0FBQ0E7O0FBRUEsbUJBQW1CLGdDQUFnQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsZ0NBQWdDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9lbXB0eUZ1bmN0aW9uJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgd2FybmluZyA9IHJlcXVpcmUoJ2ZianMvbGliL3dhcm5pbmcnKTtcbnZhciBhc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG52YXIgY2hlY2tQcm9wVHlwZXMgPSByZXF1aXJlKCcuL2NoZWNrUHJvcFR5cGVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oaXNWYWxpZEVsZW1lbnQsIHRocm93T25EaXJlY3RBY2Nlc3MpIHtcbiAgLyogZ2xvYmFsIFN5bWJvbCAqL1xuICB2YXIgSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XG4gIHZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJzsgLy8gQmVmb3JlIFN5bWJvbCBzcGVjLlxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpdGVyYXRvciBtZXRob2QgZnVuY3Rpb24gY29udGFpbmVkIG9uIHRoZSBpdGVyYWJsZSBvYmplY3QuXG4gICAqXG4gICAqIEJlIHN1cmUgdG8gaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBpdGVyYWJsZSBhcyBjb250ZXh0OlxuICAgKlxuICAgKiAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG15SXRlcmFibGUpO1xuICAgKiAgICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICogICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG15SXRlcmFibGUpO1xuICAgKiAgICAgICAuLi5cbiAgICogICAgIH1cbiAgICpcbiAgICogQHBhcmFtIHs/b2JqZWN0fSBtYXliZUl0ZXJhYmxlXG4gICAqIEByZXR1cm4gez9mdW5jdGlvbn1cbiAgICovXG4gIGZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICAgIHZhciBpdGVyYXRvckZuID0gbWF5YmVJdGVyYWJsZSAmJiAoSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXSk7XG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gaXRlcmF0b3JGbjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdGlvbiBvZiBtZXRob2RzIHRoYXQgYWxsb3cgZGVjbGFyYXRpb24gYW5kIHZhbGlkYXRpb24gb2YgcHJvcHMgdGhhdCBhcmVcbiAgICogc3VwcGxpZWQgdG8gUmVhY3QgY29tcG9uZW50cy4gRXhhbXBsZSB1c2FnZTpcbiAgICpcbiAgICogICB2YXIgUHJvcHMgPSByZXF1aXJlKCdSZWFjdFByb3BUeXBlcycpO1xuICAgKiAgIHZhciBNeUFydGljbGUgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gICAqICAgICBwcm9wVHlwZXM6IHtcbiAgICogICAgICAgLy8gQW4gb3B0aW9uYWwgc3RyaW5nIHByb3AgbmFtZWQgXCJkZXNjcmlwdGlvblwiLlxuICAgKiAgICAgICBkZXNjcmlwdGlvbjogUHJvcHMuc3RyaW5nLFxuICAgKlxuICAgKiAgICAgICAvLyBBIHJlcXVpcmVkIGVudW0gcHJvcCBuYW1lZCBcImNhdGVnb3J5XCIuXG4gICAqICAgICAgIGNhdGVnb3J5OiBQcm9wcy5vbmVPZihbJ05ld3MnLCdQaG90b3MnXSkuaXNSZXF1aXJlZCxcbiAgICpcbiAgICogICAgICAgLy8gQSBwcm9wIG5hbWVkIFwiZGlhbG9nXCIgdGhhdCByZXF1aXJlcyBhbiBpbnN0YW5jZSBvZiBEaWFsb2cuXG4gICAqICAgICAgIGRpYWxvZzogUHJvcHMuaW5zdGFuY2VPZihEaWFsb2cpLmlzUmVxdWlyZWRcbiAgICogICAgIH0sXG4gICAqICAgICByZW5kZXI6IGZ1bmN0aW9uKCkgeyAuLi4gfVxuICAgKiAgIH0pO1xuICAgKlxuICAgKiBBIG1vcmUgZm9ybWFsIHNwZWNpZmljYXRpb24gb2YgaG93IHRoZXNlIG1ldGhvZHMgYXJlIHVzZWQ6XG4gICAqXG4gICAqICAgdHlwZSA6PSBhcnJheXxib29sfGZ1bmN8b2JqZWN0fG51bWJlcnxzdHJpbmd8b25lT2YoWy4uLl0pfGluc3RhbmNlT2YoLi4uKVxuICAgKiAgIGRlY2wgOj0gUmVhY3RQcm9wVHlwZXMue3R5cGV9KC5pc1JlcXVpcmVkKT9cbiAgICpcbiAgICogRWFjaCBhbmQgZXZlcnkgZGVjbGFyYXRpb24gcHJvZHVjZXMgYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIHNpZ25hdHVyZS4gVGhpc1xuICAgKiBhbGxvd3MgdGhlIGNyZWF0aW9uIG9mIGN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9ucy4gRm9yIGV4YW1wbGU6XG4gICAqXG4gICAqICB2YXIgTXlMaW5rID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICAgKiAgICBwcm9wVHlwZXM6IHtcbiAgICogICAgICAvLyBBbiBvcHRpb25hbCBzdHJpbmcgb3IgVVJJIHByb3AgbmFtZWQgXCJocmVmXCIuXG4gICAqICAgICAgaHJlZjogZnVuY3Rpb24ocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XG4gICAqICAgICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgKiAgICAgICAgaWYgKHByb3BWYWx1ZSAhPSBudWxsICYmIHR5cGVvZiBwcm9wVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAqICAgICAgICAgICAgIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBVUkkpKSB7XG4gICAqICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXG4gICAqICAgICAgICAgICAgJ0V4cGVjdGVkIGEgc3RyaW5nIG9yIGFuIFVSSSBmb3IgJyArIHByb3BOYW1lICsgJyBpbiAnICtcbiAgICogICAgICAgICAgICBjb21wb25lbnROYW1lXG4gICAqICAgICAgICAgICk7XG4gICAqICAgICAgICB9XG4gICAqICAgICAgfVxuICAgKiAgICB9LFxuICAgKiAgICByZW5kZXI6IGZ1bmN0aW9uKCkgey4uLn1cbiAgICogIH0pO1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG5cbiAgdmFyIEFOT05ZTU9VUyA9ICc8PGFub255bW91cz4+JztcblxuICAvLyBJbXBvcnRhbnQhXG4gIC8vIEtlZXAgdGhpcyBsaXN0IGluIHN5bmMgd2l0aCBwcm9kdWN0aW9uIHZlcnNpb24gaW4gYC4vZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYXJyYXknKSxcbiAgICBib29sOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYm9vbGVhbicpLFxuICAgIGZ1bmM6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdmdW5jdGlvbicpLFxuICAgIG51bWJlcjogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ251bWJlcicpLFxuICAgIG9iamVjdDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ29iamVjdCcpLFxuICAgIHN0cmluZzogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ3N0cmluZycpLFxuICAgIHN5bWJvbDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ3N5bWJvbCcpLFxuXG4gICAgYW55OiBjcmVhdGVBbnlUeXBlQ2hlY2tlcigpLFxuICAgIGFycmF5T2Y6IGNyZWF0ZUFycmF5T2ZUeXBlQ2hlY2tlcixcbiAgICBlbGVtZW50OiBjcmVhdGVFbGVtZW50VHlwZUNoZWNrZXIoKSxcbiAgICBpbnN0YW5jZU9mOiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyLFxuICAgIG5vZGU6IGNyZWF0ZU5vZGVDaGVja2VyKCksXG4gICAgb2JqZWN0T2Y6IGNyZWF0ZU9iamVjdE9mVHlwZUNoZWNrZXIsXG4gICAgb25lT2Y6IGNyZWF0ZUVudW1UeXBlQ2hlY2tlcixcbiAgICBvbmVPZlR5cGU6IGNyZWF0ZVVuaW9uVHlwZUNoZWNrZXIsXG4gICAgc2hhcGU6IGNyZWF0ZVNoYXBlVHlwZUNoZWNrZXIsXG4gICAgZXhhY3Q6IGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIsXG4gIH07XG5cbiAgLyoqXG4gICAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2lzXG4gICAqL1xuICAvKmVzbGludC1kaXNhYmxlIG5vLXNlbGYtY29tcGFyZSovXG4gIGZ1bmN0aW9uIGlzKHgsIHkpIHtcbiAgICAvLyBTYW1lVmFsdWUgYWxnb3JpdGhtXG4gICAgaWYgKHggPT09IHkpIHtcbiAgICAgIC8vIFN0ZXBzIDEtNSwgNy0xMFxuICAgICAgLy8gU3RlcHMgNi5iLTYuZTogKzAgIT0gLTBcbiAgICAgIHJldHVybiB4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RlcCA2LmE6IE5hTiA9PSBOYU5cbiAgICAgIHJldHVybiB4ICE9PSB4ICYmIHkgIT09IHk7XG4gICAgfVxuICB9XG4gIC8qZXNsaW50LWVuYWJsZSBuby1zZWxmLWNvbXBhcmUqL1xuXG4gIC8qKlxuICAgKiBXZSB1c2UgYW4gRXJyb3ItbGlrZSBvYmplY3QgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYXMgcGVvcGxlIG1heSBjYWxsXG4gICAqIFByb3BUeXBlcyBkaXJlY3RseSBhbmQgaW5zcGVjdCB0aGVpciBvdXRwdXQuIEhvd2V2ZXIsIHdlIGRvbid0IHVzZSByZWFsXG4gICAqIEVycm9ycyBhbnltb3JlLiBXZSBkb24ndCBpbnNwZWN0IHRoZWlyIHN0YWNrIGFueXdheSwgYW5kIGNyZWF0aW5nIHRoZW1cbiAgICogaXMgcHJvaGliaXRpdmVseSBleHBlbnNpdmUgaWYgdGhleSBhcmUgY3JlYXRlZCB0b28gb2Z0ZW4sIHN1Y2ggYXMgd2hhdFxuICAgKiBoYXBwZW5zIGluIG9uZU9mVHlwZSgpIGZvciBhbnkgdHlwZSBiZWZvcmUgdGhlIG9uZSB0aGF0IG1hdGNoZWQuXG4gICAqL1xuICBmdW5jdGlvbiBQcm9wVHlwZUVycm9yKG1lc3NhZ2UpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIHRoaXMuc3RhY2sgPSAnJztcbiAgfVxuICAvLyBNYWtlIGBpbnN0YW5jZW9mIEVycm9yYCBzdGlsbCB3b3JrIGZvciByZXR1cm5lZCBlcnJvcnMuXG4gIFByb3BUeXBlRXJyb3IucHJvdG90eXBlID0gRXJyb3IucHJvdG90eXBlO1xuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHZhciBtYW51YWxQcm9wVHlwZUNhbGxDYWNoZSA9IHt9O1xuICAgICAgdmFyIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50ID0gMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2hlY2tUeXBlKGlzUmVxdWlyZWQsIHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgICBjb21wb25lbnROYW1lID0gY29tcG9uZW50TmFtZSB8fCBBTk9OWU1PVVM7XG4gICAgICBwcm9wRnVsbE5hbWUgPSBwcm9wRnVsbE5hbWUgfHwgcHJvcE5hbWU7XG5cbiAgICAgIGlmIChzZWNyZXQgIT09IFJlYWN0UHJvcFR5cGVzU2VjcmV0KSB7XG4gICAgICAgIGlmICh0aHJvd09uRGlyZWN0QWNjZXNzKSB7XG4gICAgICAgICAgLy8gTmV3IGJlaGF2aW9yIG9ubHkgZm9yIHVzZXJzIG9mIGBwcm9wLXR5cGVzYCBwYWNrYWdlXG4gICAgICAgICAgaW52YXJpYW50KFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAgICAgICAnVXNlIGBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoKWAgdG8gY2FsbCB0aGVtLiAnICtcbiAgICAgICAgICAgICdSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAvLyBPbGQgYmVoYXZpb3IgZm9yIHBlb3BsZSB1c2luZyBSZWFjdC5Qcm9wVHlwZXNcbiAgICAgICAgICB2YXIgY2FjaGVLZXkgPSBjb21wb25lbnROYW1lICsgJzonICsgcHJvcE5hbWU7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIW1hbnVhbFByb3BUeXBlQ2FsbENhY2hlW2NhY2hlS2V5XSAmJlxuICAgICAgICAgICAgLy8gQXZvaWQgc3BhbW1pbmcgdGhlIGNvbnNvbGUgYmVjYXVzZSB0aGV5IGFyZSBvZnRlbiBub3QgYWN0aW9uYWJsZSBleGNlcHQgZm9yIGxpYiBhdXRob3JzXG4gICAgICAgICAgICBtYW51YWxQcm9wVHlwZVdhcm5pbmdDb3VudCA8IDNcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAnWW91IGFyZSBtYW51YWxseSBjYWxsaW5nIGEgUmVhY3QuUHJvcFR5cGVzIHZhbGlkYXRpb24gJyArXG4gICAgICAgICAgICAgICdmdW5jdGlvbiBmb3IgdGhlIGAlc2AgcHJvcCBvbiBgJXNgLiBUaGlzIGlzIGRlcHJlY2F0ZWQgJyArXG4gICAgICAgICAgICAgICdhbmQgd2lsbCB0aHJvdyBpbiB0aGUgc3RhbmRhbG9uZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAgICAgICAgICdZb3UgbWF5IGJlIHNlZWluZyB0aGlzIHdhcm5pbmcgZHVlIHRvIGEgdGhpcmQtcGFydHkgUHJvcFR5cGVzICcgK1xuICAgICAgICAgICAgICAnbGlicmFyeS4gU2VlIGh0dHBzOi8vZmIubWUvcmVhY3Qtd2FybmluZy1kb250LWNhbGwtcHJvcHR5cGVzICcgKyAnZm9yIGRldGFpbHMuJyxcbiAgICAgICAgICAgICAgcHJvcEZ1bGxOYW1lLFxuICAgICAgICAgICAgICBjb21wb25lbnROYW1lXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGVbY2FjaGVLZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgaWYgKGlzUmVxdWlyZWQpIHtcbiAgICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1RoZSAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgaXMgbWFya2VkIGFzIHJlcXVpcmVkICcgKyAoJ2luIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBidXQgaXRzIHZhbHVlIGlzIGBudWxsYC4nKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignVGhlICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBpcyBtYXJrZWQgYXMgcmVxdWlyZWQgaW4gJyArICgnYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGJ1dCBpdHMgdmFsdWUgaXMgYHVuZGVmaW5lZGAuJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNoYWluZWRDaGVja1R5cGUgPSBjaGVja1R5cGUuYmluZChudWxsLCBmYWxzZSk7XG4gICAgY2hhaW5lZENoZWNrVHlwZS5pc1JlcXVpcmVkID0gY2hlY2tUeXBlLmJpbmQobnVsbCwgdHJ1ZSk7XG5cbiAgICByZXR1cm4gY2hhaW5lZENoZWNrVHlwZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKGV4cGVjdGVkVHlwZSkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gZXhwZWN0ZWRUeXBlKSB7XG4gICAgICAgIC8vIGBwcm9wVmFsdWVgIGJlaW5nIGluc3RhbmNlIG9mLCBzYXksIGRhdGUvcmVnZXhwLCBwYXNzIHRoZSAnb2JqZWN0J1xuICAgICAgICAvLyBjaGVjaywgYnV0IHdlIGNhbiBvZmZlciBhIG1vcmUgcHJlY2lzZSBlcnJvciBtZXNzYWdlIGhlcmUgcmF0aGVyIHRoYW5cbiAgICAgICAgLy8gJ29mIHR5cGUgYG9iamVjdGAnLlxuICAgICAgICB2YXIgcHJlY2lzZVR5cGUgPSBnZXRQcmVjaXNlVHlwZShwcm9wVmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByZWNpc2VUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkICcpICsgKCdgJyArIGV4cGVjdGVkVHlwZSArICdgLicpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlQW55VHlwZUNoZWNrZXIoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKGVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUFycmF5T2ZUeXBlQ2hlY2tlcih0eXBlQ2hlY2tlcikge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlQ2hlY2tlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1Byb3BlcnR5IGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgY29tcG9uZW50IGAnICsgY29tcG9uZW50TmFtZSArICdgIGhhcyBpbnZhbGlkIFByb3BUeXBlIG5vdGF0aW9uIGluc2lkZSBhcnJheU9mLicpO1xuICAgICAgfVxuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShwcm9wVmFsdWUpKSB7XG4gICAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByb3BUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGFuIGFycmF5LicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlcnJvciA9IHR5cGVDaGVja2VyKHByb3BWYWx1ZSwgaSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICdbJyArIGkgKyAnXScsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudFR5cGVDaGVja2VyKCkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGlmICghaXNWYWxpZEVsZW1lbnQocHJvcFZhbHVlKSkge1xuICAgICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhIHNpbmdsZSBSZWFjdEVsZW1lbnQuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyKGV4cGVjdGVkQ2xhc3MpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghKHByb3BzW3Byb3BOYW1lXSBpbnN0YW5jZW9mIGV4cGVjdGVkQ2xhc3MpKSB7XG4gICAgICAgIHZhciBleHBlY3RlZENsYXNzTmFtZSA9IGV4cGVjdGVkQ2xhc3MubmFtZSB8fCBBTk9OWU1PVVM7XG4gICAgICAgIHZhciBhY3R1YWxDbGFzc05hbWUgPSBnZXRDbGFzc05hbWUocHJvcHNbcHJvcE5hbWVdKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgYWN0dWFsQ2xhc3NOYW1lICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkICcpICsgKCdpbnN0YW5jZSBvZiBgJyArIGV4cGVjdGVkQ2xhc3NOYW1lICsgJ2AuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVFbnVtVHlwZUNoZWNrZXIoZXhwZWN0ZWRWYWx1ZXMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXhwZWN0ZWRWYWx1ZXMpKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gd2FybmluZyhmYWxzZSwgJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2YsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzKHByb3BWYWx1ZSwgZXhwZWN0ZWRWYWx1ZXNbaV0pKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHZhbHVlc1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkVmFsdWVzKTtcbiAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdmFsdWUgYCcgKyBwcm9wVmFsdWUgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgb25lIG9mICcgKyB2YWx1ZXNTdHJpbmcgKyAnLicpKTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdE9mVHlwZUNoZWNrZXIodHlwZUNoZWNrZXIpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdHlwZUNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdQcm9wZXJ0eSBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIGNvbXBvbmVudCBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCBoYXMgaW52YWxpZCBQcm9wVHlwZSBub3RhdGlvbiBpbnNpZGUgb2JqZWN0T2YuJyk7XG4gICAgICB9XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYW4gb2JqZWN0LicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKHByb3BWYWx1ZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgdmFyIGVycm9yID0gdHlwZUNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVVbmlvblR5cGVDaGVja2VyKGFycmF5T2ZUeXBlQ2hlY2tlcnMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXlPZlR5cGVDaGVja2VycykpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyB3YXJuaW5nKGZhbHNlLCAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBvbmVPZlR5cGUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlPZlR5cGVDaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgaWYgKHR5cGVvZiBjaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2ZUeXBlLiBFeHBlY3RlZCBhbiBhcnJheSBvZiBjaGVjayBmdW5jdGlvbnMsIGJ1dCAnICtcbiAgICAgICAgICAncmVjZWl2ZWQgJXMgYXQgaW5kZXggJXMuJyxcbiAgICAgICAgICBnZXRQb3N0Zml4Rm9yVHlwZVdhcm5pbmcoY2hlY2tlciksXG4gICAgICAgICAgaVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc051bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5T2ZUeXBlQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgICBpZiAoY2hlY2tlcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KSA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBzdXBwbGllZCB0byAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYC4nKSk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVOb2RlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghaXNOb2RlKHByb3BzW3Byb3BOYW1lXSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBzdXBwbGllZCB0byAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBSZWFjdE5vZGUuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVTaGFwZVR5cGVDaGVja2VyKHNoYXBlVHlwZXMpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgaWYgKHByb3BUeXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgYCcgKyBwcm9wVHlwZSArICdgICcgKyAoJ3N1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBgb2JqZWN0YC4nKSk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkgaW4gc2hhcGVUeXBlcykge1xuICAgICAgICB2YXIgY2hlY2tlciA9IHNoYXBlVHlwZXNba2V5XTtcbiAgICAgICAgaWYgKCFjaGVja2VyKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVycm9yID0gY2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlU3RyaWN0U2hhcGVUeXBlQ2hlY2tlcihzaGFwZVR5cGVzKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlIGAnICsgcHJvcFR5cGUgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYG9iamVjdGAuJykpO1xuICAgICAgfVxuICAgICAgLy8gV2UgbmVlZCB0byBjaGVjayBhbGwga2V5cyBpbiBjYXNlIHNvbWUgYXJlIHJlcXVpcmVkIGJ1dCBtaXNzaW5nIGZyb21cbiAgICAgIC8vIHByb3BzLlxuICAgICAgdmFyIGFsbEtleXMgPSBhc3NpZ24oe30sIHByb3BzW3Byb3BOYW1lXSwgc2hhcGVUeXBlcyk7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gYWxsS2V5cykge1xuICAgICAgICB2YXIgY2hlY2tlciA9IHNoYXBlVHlwZXNba2V5XTtcbiAgICAgICAgaWYgKCFjaGVja2VyKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKFxuICAgICAgICAgICAgJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIGtleSBgJyArIGtleSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLicgK1xuICAgICAgICAgICAgJ1xcbkJhZCBvYmplY3Q6ICcgKyBKU09OLnN0cmluZ2lmeShwcm9wc1twcm9wTmFtZV0sIG51bGwsICcgICcpICtcbiAgICAgICAgICAgICdcXG5WYWxpZCBrZXlzOiAnICsgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHNoYXBlVHlwZXMpLCBudWxsLCAnICAnKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVycm9yID0gY2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc05vZGUocHJvcFZhbHVlKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgcHJvcFZhbHVlKSB7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiAhcHJvcFZhbHVlO1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwcm9wVmFsdWUuZXZlcnkoaXNOb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcFZhbHVlID09PSBudWxsIHx8IGlzVmFsaWRFbGVtZW50KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihwcm9wVmFsdWUpO1xuICAgICAgICBpZiAoaXRlcmF0b3JGbikge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChwcm9wVmFsdWUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuICAgICAgICAgIGlmIChpdGVyYXRvckZuICE9PSBwcm9wVmFsdWUuZW50cmllcykge1xuICAgICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgICBpZiAoIWlzTm9kZShzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJdGVyYXRvciB3aWxsIHByb3ZpZGUgZW50cnkgW2ssdl0gdHVwbGVzIHJhdGhlciB0aGFuIHZhbHVlcy5cbiAgICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgICAgdmFyIGVudHJ5ID0gc3RlcC52YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc05vZGUoZW50cnlbMV0pKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzU3ltYm9sKHByb3BUeXBlLCBwcm9wVmFsdWUpIHtcbiAgICAvLyBOYXRpdmUgU3ltYm9sLlxuICAgIGlmIChwcm9wVHlwZSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIDE5LjQuMy41IFN5bWJvbC5wcm90b3R5cGVbQEB0b1N0cmluZ1RhZ10gPT09ICdTeW1ib2wnXG4gICAgaWYgKHByb3BWYWx1ZVsnQEB0b1N0cmluZ1RhZyddID09PSAnU3ltYm9sJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgZm9yIG5vbi1zcGVjIGNvbXBsaWFudCBTeW1ib2xzIHdoaWNoIGFyZSBwb2x5ZmlsbGVkLlxuICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHByb3BWYWx1ZSBpbnN0YW5jZW9mIFN5bWJvbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gRXF1aXZhbGVudCBvZiBgdHlwZW9mYCBidXQgd2l0aCBzcGVjaWFsIGhhbmRsaW5nIGZvciBhcnJheSBhbmQgcmVnZXhwLlxuICBmdW5jdGlvbiBnZXRQcm9wVHlwZShwcm9wVmFsdWUpIHtcbiAgICB2YXIgcHJvcFR5cGUgPSB0eXBlb2YgcHJvcFZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BWYWx1ZSkpIHtcbiAgICAgIHJldHVybiAnYXJyYXknO1xuICAgIH1cbiAgICBpZiAocHJvcFZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAvLyBPbGQgd2Via2l0cyAoYXQgbGVhc3QgdW50aWwgQW5kcm9pZCA0LjApIHJldHVybiAnZnVuY3Rpb24nIHJhdGhlciB0aGFuXG4gICAgICAvLyAnb2JqZWN0JyBmb3IgdHlwZW9mIGEgUmVnRXhwLiBXZSdsbCBub3JtYWxpemUgdGhpcyBoZXJlIHNvIHRoYXQgL2JsYS9cbiAgICAgIC8vIHBhc3NlcyBQcm9wVHlwZXMub2JqZWN0LlxuICAgICAgcmV0dXJuICdvYmplY3QnO1xuICAgIH1cbiAgICBpZiAoaXNTeW1ib2wocHJvcFR5cGUsIHByb3BWYWx1ZSkpIHtcbiAgICAgIHJldHVybiAnc3ltYm9sJztcbiAgICB9XG4gICAgcmV0dXJuIHByb3BUeXBlO1xuICB9XG5cbiAgLy8gVGhpcyBoYW5kbGVzIG1vcmUgdHlwZXMgdGhhbiBgZ2V0UHJvcFR5cGVgLiBPbmx5IHVzZWQgZm9yIGVycm9yIG1lc3NhZ2VzLlxuICAvLyBTZWUgYGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyYC5cbiAgZnVuY3Rpb24gZ2V0UHJlY2lzZVR5cGUocHJvcFZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHByb3BWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICcnICsgcHJvcFZhbHVlO1xuICAgIH1cbiAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgIGlmIChwcm9wVHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiAnZGF0ZSc7XG4gICAgICB9IGVsc2UgaWYgKHByb3BWYWx1ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICByZXR1cm4gJ3JlZ2V4cCc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9wVHlwZTtcbiAgfVxuXG4gIC8vIFJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwb3N0Zml4ZWQgdG8gYSB3YXJuaW5nIGFib3V0IGFuIGludmFsaWQgdHlwZS5cbiAgLy8gRm9yIGV4YW1wbGUsIFwidW5kZWZpbmVkXCIgb3IgXCJvZiB0eXBlIGFycmF5XCJcbiAgZnVuY3Rpb24gZ2V0UG9zdGZpeEZvclR5cGVXYXJuaW5nKHZhbHVlKSB7XG4gICAgdmFyIHR5cGUgPSBnZXRQcmVjaXNlVHlwZSh2YWx1ZSk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICByZXR1cm4gJ2FuICcgKyB0eXBlO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgIGNhc2UgJ3JlZ2V4cCc6XG4gICAgICAgIHJldHVybiAnYSAnICsgdHlwZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgY2xhc3MgbmFtZSBvZiB0aGUgb2JqZWN0LCBpZiBhbnkuXG4gIGZ1bmN0aW9uIGdldENsYXNzTmFtZShwcm9wVmFsdWUpIHtcbiAgICBpZiAoIXByb3BWYWx1ZS5jb25zdHJ1Y3RvciB8fCAhcHJvcFZhbHVlLmNvbnN0cnVjdG9yLm5hbWUpIHtcbiAgICAgIHJldHVybiBBTk9OWU1PVVM7XG4gICAgfVxuICAgIHJldHVybiBwcm9wVmFsdWUuY29uc3RydWN0b3IubmFtZTtcbiAgfVxuXG4gIFJlYWN0UHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzID0gY2hlY2tQcm9wVHlwZXM7XG4gIFJlYWN0UHJvcFR5cGVzLlByb3BUeXBlcyA9IFJlYWN0UHJvcFR5cGVzO1xuXG4gIHJldHVybiBSZWFjdFByb3BUeXBlcztcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/prop-types/factoryWithTypeCheckers.js\n"); +eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (\"development\" !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n true ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : undefined;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanM/YjA3MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsYUFBYSxtQkFBTyxDQUFDLDREQUFlOztBQUVwQywyQkFBMkIsbUJBQU8sQ0FBQyx5RkFBNEI7QUFDL0QscUJBQXFCLG1CQUFPLENBQUMscUVBQWtCOztBQUUvQzs7QUFFQSxJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLDZCQUE2QjtBQUM3QixRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsS0FBSztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDRCQUE0QjtBQUM1QixPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLFVBQVUsYUFBb0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsc0JBQXNCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU0sS0FBcUMsd0ZBQXdGLFNBQU07QUFDekk7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCLDJCQUEyQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNLEtBQXFDLDRGQUE0RixTQUFNO0FBQzdJO0FBQ0E7O0FBRUEsbUJBQW1CLGdDQUFnQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsZ0NBQWdDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcbnZhciBjaGVja1Byb3BUeXBlcyA9IHJlcXVpcmUoJy4vY2hlY2tQcm9wVHlwZXMnKTtcblxudmFyIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgdGV4dDtcbiAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxuICAgICAgLy8gVGhpcyBlcnJvciB3YXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHN0YWNrXG4gICAgICAvLyB0byBmaW5kIHRoZSBjYWxsc2l0ZSB0aGF0IGNhdXNlZCB0aGlzIHdhcm5pbmcgdG8gZmlyZS5cbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9IGNhdGNoICh4KSB7fVxuICB9O1xufVxuXG5mdW5jdGlvbiBlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsKCkge1xuICByZXR1cm4gbnVsbDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihpc1ZhbGlkRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcykge1xuICAvKiBnbG9iYWwgU3ltYm9sICovXG4gIHZhciBJVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbiAgdmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InOyAvLyBCZWZvcmUgU3ltYm9sIHNwZWMuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGl0ZXJhdG9yIG1ldGhvZCBmdW5jdGlvbiBjb250YWluZWQgb24gdGhlIGl0ZXJhYmxlIG9iamVjdC5cbiAgICpcbiAgICogQmUgc3VyZSB0byBpbnZva2UgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIGl0ZXJhYmxlIGFzIGNvbnRleHQ6XG4gICAqXG4gICAqICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obXlJdGVyYWJsZSk7XG4gICAqICAgICBpZiAoaXRlcmF0b3JGbikge1xuICAgKiAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwobXlJdGVyYWJsZSk7XG4gICAqICAgICAgIC4uLlxuICAgKiAgICAgfVxuICAgKlxuICAgKiBAcGFyYW0gez9vYmplY3R9IG1heWJlSXRlcmFibGVcbiAgICogQHJldHVybiB7P2Z1bmN0aW9ufVxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBtYXliZUl0ZXJhYmxlICYmIChJVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtJVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdKTtcbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBpdGVyYXRvckZuO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0aW9uIG9mIG1ldGhvZHMgdGhhdCBhbGxvdyBkZWNsYXJhdGlvbiBhbmQgdmFsaWRhdGlvbiBvZiBwcm9wcyB0aGF0IGFyZVxuICAgKiBzdXBwbGllZCB0byBSZWFjdCBjb21wb25lbnRzLiBFeGFtcGxlIHVzYWdlOlxuICAgKlxuICAgKiAgIHZhciBQcm9wcyA9IHJlcXVpcmUoJ1JlYWN0UHJvcFR5cGVzJyk7XG4gICAqICAgdmFyIE15QXJ0aWNsZSA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgICogICAgIHByb3BUeXBlczoge1xuICAgKiAgICAgICAvLyBBbiBvcHRpb25hbCBzdHJpbmcgcHJvcCBuYW1lZCBcImRlc2NyaXB0aW9uXCIuXG4gICAqICAgICAgIGRlc2NyaXB0aW9uOiBQcm9wcy5zdHJpbmcsXG4gICAqXG4gICAqICAgICAgIC8vIEEgcmVxdWlyZWQgZW51bSBwcm9wIG5hbWVkIFwiY2F0ZWdvcnlcIi5cbiAgICogICAgICAgY2F0ZWdvcnk6IFByb3BzLm9uZU9mKFsnTmV3cycsJ1Bob3RvcyddKS5pc1JlcXVpcmVkLFxuICAgKlxuICAgKiAgICAgICAvLyBBIHByb3AgbmFtZWQgXCJkaWFsb2dcIiB0aGF0IHJlcXVpcmVzIGFuIGluc3RhbmNlIG9mIERpYWxvZy5cbiAgICogICAgICAgZGlhbG9nOiBQcm9wcy5pbnN0YW5jZU9mKERpYWxvZykuaXNSZXF1aXJlZFxuICAgKiAgICAgfSxcbiAgICogICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7IC4uLiB9XG4gICAqICAgfSk7XG4gICAqXG4gICAqIEEgbW9yZSBmb3JtYWwgc3BlY2lmaWNhdGlvbiBvZiBob3cgdGhlc2UgbWV0aG9kcyBhcmUgdXNlZDpcbiAgICpcbiAgICogICB0eXBlIDo9IGFycmF5fGJvb2x8ZnVuY3xvYmplY3R8bnVtYmVyfHN0cmluZ3xvbmVPZihbLi4uXSl8aW5zdGFuY2VPZiguLi4pXG4gICAqICAgZGVjbCA6PSBSZWFjdFByb3BUeXBlcy57dHlwZX0oLmlzUmVxdWlyZWQpP1xuICAgKlxuICAgKiBFYWNoIGFuZCBldmVyeSBkZWNsYXJhdGlvbiBwcm9kdWNlcyBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgc2lnbmF0dXJlLiBUaGlzXG4gICAqIGFsbG93cyB0aGUgY3JlYXRpb24gb2YgY3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb25zLiBGb3IgZXhhbXBsZTpcbiAgICpcbiAgICogIHZhciBNeUxpbmsgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gICAqICAgIHByb3BUeXBlczoge1xuICAgKiAgICAgIC8vIEFuIG9wdGlvbmFsIHN0cmluZyBvciBVUkkgcHJvcCBuYW1lZCBcImhyZWZcIi5cbiAgICogICAgICBocmVmOiBmdW5jdGlvbihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUpIHtcbiAgICogICAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAqICAgICAgICBpZiAocHJvcFZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHByb3BWYWx1ZSAhPT0gJ3N0cmluZycgJiZcbiAgICogICAgICAgICAgICAhKHByb3BWYWx1ZSBpbnN0YW5jZW9mIFVSSSkpIHtcbiAgICogICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcbiAgICogICAgICAgICAgICAnRXhwZWN0ZWQgYSBzdHJpbmcgb3IgYW4gVVJJIGZvciAnICsgcHJvcE5hbWUgKyAnIGluICcgK1xuICAgKiAgICAgICAgICAgIGNvbXBvbmVudE5hbWVcbiAgICogICAgICAgICAgKTtcbiAgICogICAgICAgIH1cbiAgICogICAgICB9XG4gICAqICAgIH0sXG4gICAqICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7Li4ufVxuICAgKiAgfSk7XG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cblxuICB2YXIgQU5PTllNT1VTID0gJzw8YW5vbnltb3VzPj4nO1xuXG4gIC8vIEltcG9ydGFudCFcbiAgLy8gS2VlcCB0aGlzIGxpc3QgaW4gc3luYyB3aXRoIHByb2R1Y3Rpb24gdmVyc2lvbiBpbiBgLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMuanNgLlxuICB2YXIgUmVhY3RQcm9wVHlwZXMgPSB7XG4gICAgYXJyYXk6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdhcnJheScpLFxuICAgIGJvb2w6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdib29sZWFuJyksXG4gICAgZnVuYzogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ2Z1bmN0aW9uJyksXG4gICAgbnVtYmVyOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignbnVtYmVyJyksXG4gICAgb2JqZWN0OiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignb2JqZWN0JyksXG4gICAgc3RyaW5nOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignc3RyaW5nJyksXG4gICAgc3ltYm9sOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignc3ltYm9sJyksXG5cbiAgICBhbnk6IGNyZWF0ZUFueVR5cGVDaGVja2VyKCksXG4gICAgYXJyYXlPZjogY3JlYXRlQXJyYXlPZlR5cGVDaGVja2VyLFxuICAgIGVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnRUeXBlQ2hlY2tlcigpLFxuICAgIGluc3RhbmNlT2Y6IGNyZWF0ZUluc3RhbmNlVHlwZUNoZWNrZXIsXG4gICAgbm9kZTogY3JlYXRlTm9kZUNoZWNrZXIoKSxcbiAgICBvYmplY3RPZjogY3JlYXRlT2JqZWN0T2ZUeXBlQ2hlY2tlcixcbiAgICBvbmVPZjogY3JlYXRlRW51bVR5cGVDaGVja2VyLFxuICAgIG9uZU9mVHlwZTogY3JlYXRlVW5pb25UeXBlQ2hlY2tlcixcbiAgICBzaGFwZTogY3JlYXRlU2hhcGVUeXBlQ2hlY2tlcixcbiAgICBleGFjdDogY3JlYXRlU3RyaWN0U2hhcGVUeXBlQ2hlY2tlcixcbiAgfTtcblxuICAvKipcbiAgICogaW5saW5lZCBPYmplY3QuaXMgcG9seWZpbGwgdG8gYXZvaWQgcmVxdWlyaW5nIGNvbnN1bWVycyBzaGlwIHRoZWlyIG93blxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAgICovXG4gIC8qZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlKi9cbiAgZnVuY3Rpb24gaXMoeCwgeSkge1xuICAgIC8vIFNhbWVWYWx1ZSBhbGdvcml0aG1cbiAgICBpZiAoeCA9PT0geSkge1xuICAgICAgLy8gU3RlcHMgMS01LCA3LTEwXG4gICAgICAvLyBTdGVwcyA2LmItNi5lOiArMCAhPSAtMFxuICAgICAgcmV0dXJuIHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdGVwIDYuYTogTmFOID09IE5hTlxuICAgICAgcmV0dXJuIHggIT09IHggJiYgeSAhPT0geTtcbiAgICB9XG4gIH1cbiAgLyplc2xpbnQtZW5hYmxlIG5vLXNlbGYtY29tcGFyZSovXG5cbiAgLyoqXG4gICAqIFdlIHVzZSBhbiBFcnJvci1saWtlIG9iamVjdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhcyBwZW9wbGUgbWF5IGNhbGxcbiAgICogUHJvcFR5cGVzIGRpcmVjdGx5IGFuZCBpbnNwZWN0IHRoZWlyIG91dHB1dC4gSG93ZXZlciwgd2UgZG9uJ3QgdXNlIHJlYWxcbiAgICogRXJyb3JzIGFueW1vcmUuIFdlIGRvbid0IGluc3BlY3QgdGhlaXIgc3RhY2sgYW55d2F5LCBhbmQgY3JlYXRpbmcgdGhlbVxuICAgKiBpcyBwcm9oaWJpdGl2ZWx5IGV4cGVuc2l2ZSBpZiB0aGV5IGFyZSBjcmVhdGVkIHRvbyBvZnRlbiwgc3VjaCBhcyB3aGF0XG4gICAqIGhhcHBlbnMgaW4gb25lT2ZUeXBlKCkgZm9yIGFueSB0eXBlIGJlZm9yZSB0aGUgb25lIHRoYXQgbWF0Y2hlZC5cbiAgICovXG4gIGZ1bmN0aW9uIFByb3BUeXBlRXJyb3IobWVzc2FnZSkge1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5zdGFjayA9ICcnO1xuICB9XG4gIC8vIE1ha2UgYGluc3RhbmNlb2YgRXJyb3JgIHN0aWxsIHdvcmsgZm9yIHJldHVybmVkIGVycm9ycy5cbiAgUHJvcFR5cGVFcnJvci5wcm90b3R5cGUgPSBFcnJvci5wcm90b3R5cGU7XG5cbiAgZnVuY3Rpb24gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgdmFyIG1hbnVhbFByb3BUeXBlQ2FsbENhY2hlID0ge307XG4gICAgICB2YXIgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQgPSAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1R5cGUoaXNSZXF1aXJlZCwgcHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBzZWNyZXQpIHtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSBjb21wb25lbnROYW1lIHx8IEFOT05ZTU9VUztcbiAgICAgIHByb3BGdWxsTmFtZSA9IHByb3BGdWxsTmFtZSB8fCBwcm9wTmFtZTtcblxuICAgICAgaWYgKHNlY3JldCAhPT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgICAgaWYgKHRocm93T25EaXJlY3RBY2Nlc3MpIHtcbiAgICAgICAgICAvLyBOZXcgYmVoYXZpb3Igb25seSBmb3IgdXNlcnMgb2YgYHByb3AtdHlwZXNgIHBhY2thZ2VcbiAgICAgICAgICB2YXIgZXJyID0gbmV3IEVycm9yKFxuICAgICAgICAgICAgJ0NhbGxpbmcgUHJvcFR5cGVzIHZhbGlkYXRvcnMgZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UuICcgK1xuICAgICAgICAgICAgJ1VzZSBgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKClgIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAgICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICAgICAgICApO1xuICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIE9sZCBiZWhhdmlvciBmb3IgcGVvcGxlIHVzaW5nIFJlYWN0LlByb3BUeXBlc1xuICAgICAgICAgIHZhciBjYWNoZUtleSA9IGNvbXBvbmVudE5hbWUgKyAnOicgKyBwcm9wTmFtZTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGVbY2FjaGVLZXldICYmXG4gICAgICAgICAgICAvLyBBdm9pZCBzcGFtbWluZyB0aGUgY29uc29sZSBiZWNhdXNlIHRoZXkgYXJlIG9mdGVuIG5vdCBhY3Rpb25hYmxlIGV4Y2VwdCBmb3IgbGliIGF1dGhvcnNcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50IDwgM1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgICAnWW91IGFyZSBtYW51YWxseSBjYWxsaW5nIGEgUmVhY3QuUHJvcFR5cGVzIHZhbGlkYXRpb24gJyArXG4gICAgICAgICAgICAgICdmdW5jdGlvbiBmb3IgdGhlIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgcHJvcCBvbiBgJyArIGNvbXBvbmVudE5hbWUgICsgJ2AuIFRoaXMgaXMgZGVwcmVjYXRlZCAnICtcbiAgICAgICAgICAgICAgJ2FuZCB3aWxsIHRocm93IGluIHRoZSBzdGFuZGFsb25lIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiAnICtcbiAgICAgICAgICAgICAgJ1lvdSBtYXkgYmUgc2VlaW5nIHRoaXMgd2FybmluZyBkdWUgdG8gYSB0aGlyZC1wYXJ0eSBQcm9wVHlwZXMgJyArXG4gICAgICAgICAgICAgICdsaWJyYXJ5LiBTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC13YXJuaW5nLWRvbnQtY2FsbC1wcm9wdHlwZXMgJyArICdmb3IgZGV0YWlscy4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGVbY2FjaGVLZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgaWYgKGlzUmVxdWlyZWQpIHtcbiAgICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1RoZSAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgaXMgbWFya2VkIGFzIHJlcXVpcmVkICcgKyAoJ2luIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBidXQgaXRzIHZhbHVlIGlzIGBudWxsYC4nKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignVGhlICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBpcyBtYXJrZWQgYXMgcmVxdWlyZWQgaW4gJyArICgnYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGJ1dCBpdHMgdmFsdWUgaXMgYHVuZGVmaW5lZGAuJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNoYWluZWRDaGVja1R5cGUgPSBjaGVja1R5cGUuYmluZChudWxsLCBmYWxzZSk7XG4gICAgY2hhaW5lZENoZWNrVHlwZS5pc1JlcXVpcmVkID0gY2hlY2tUeXBlLmJpbmQobnVsbCwgdHJ1ZSk7XG5cbiAgICByZXR1cm4gY2hhaW5lZENoZWNrVHlwZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKGV4cGVjdGVkVHlwZSkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gZXhwZWN0ZWRUeXBlKSB7XG4gICAgICAgIC8vIGBwcm9wVmFsdWVgIGJlaW5nIGluc3RhbmNlIG9mLCBzYXksIGRhdGUvcmVnZXhwLCBwYXNzIHRoZSAnb2JqZWN0J1xuICAgICAgICAvLyBjaGVjaywgYnV0IHdlIGNhbiBvZmZlciBhIG1vcmUgcHJlY2lzZSBlcnJvciBtZXNzYWdlIGhlcmUgcmF0aGVyIHRoYW5cbiAgICAgICAgLy8gJ29mIHR5cGUgYG9iamVjdGAnLlxuICAgICAgICB2YXIgcHJlY2lzZVR5cGUgPSBnZXRQcmVjaXNlVHlwZShwcm9wVmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByZWNpc2VUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkICcpICsgKCdgJyArIGV4cGVjdGVkVHlwZSArICdgLicpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlQW55VHlwZUNoZWNrZXIoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGwpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlQXJyYXlPZlR5cGVDaGVja2VyKHR5cGVDaGVja2VyKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIHR5cGVDaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignUHJvcGVydHkgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiBjb21wb25lbnQgYCcgKyBjb21wb25lbnROYW1lICsgJ2AgaGFzIGludmFsaWQgUHJvcFR5cGUgbm90YXRpb24gaW5zaWRlIGFycmF5T2YuJyk7XG4gICAgICB9XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYW4gYXJyYXkuJykpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wVmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVycm9yID0gdHlwZUNoZWNrZXIocHJvcFZhbHVlLCBpLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lICsgJ1snICsgaSArICddJywgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVFbGVtZW50VHlwZUNoZWNrZXIoKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgaWYgKCFpc1ZhbGlkRWxlbWVudChwcm9wVmFsdWUpKSB7XG4gICAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByb3BUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGEgc2luZ2xlIFJlYWN0RWxlbWVudC4nKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlVHlwZUNoZWNrZXIoZXhwZWN0ZWRDbGFzcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKCEocHJvcHNbcHJvcE5hbWVdIGluc3RhbmNlb2YgZXhwZWN0ZWRDbGFzcykpIHtcbiAgICAgICAgdmFyIGV4cGVjdGVkQ2xhc3NOYW1lID0gZXhwZWN0ZWRDbGFzcy5uYW1lIHx8IEFOT05ZTU9VUztcbiAgICAgICAgdmFyIGFjdHVhbENsYXNzTmFtZSA9IGdldENsYXNzTmFtZShwcm9wc1twcm9wTmFtZV0pO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBhY3R1YWxDbGFzc05hbWUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgJykgKyAoJ2luc3RhbmNlIG9mIGAnICsgZXhwZWN0ZWRDbGFzc05hbWUgKyAnYC4nKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUVudW1UeXBlQ2hlY2tlcihleHBlY3RlZFZhbHVlcykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShleHBlY3RlZFZhbHVlcykpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBwcmludFdhcm5pbmcoJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2YsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXMocHJvcFZhbHVlLCBleHBlY3RlZFZhbHVlc1tpXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgdmFsdWVzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRWYWx1ZXMpO1xuICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB2YWx1ZSBgJyArIHByb3BWYWx1ZSArICdgICcgKyAoJ3N1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBvbmUgb2YgJyArIHZhbHVlc1N0cmluZyArICcuJykpO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlT2JqZWN0T2ZUeXBlQ2hlY2tlcih0eXBlQ2hlY2tlcikge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlQ2hlY2tlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1Byb3BlcnR5IGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgY29tcG9uZW50IGAnICsgY29tcG9uZW50TmFtZSArICdgIGhhcyBpbnZhbGlkIFByb3BUeXBlIG5vdGF0aW9uIGluc2lkZSBvYmplY3RPZi4nKTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgaWYgKHByb3BUeXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhbiBvYmplY3QuJykpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHByb3BWYWx1ZSkge1xuICAgICAgICBpZiAocHJvcFZhbHVlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICB2YXIgZXJyb3IgPSB0eXBlQ2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVVuaW9uVHlwZUNoZWNrZXIoYXJyYXlPZlR5cGVDaGVja2Vycykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheU9mVHlwZUNoZWNrZXJzKSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IHByaW50V2FybmluZygnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBvbmVPZlR5cGUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGw7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheU9mVHlwZUNoZWNrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hlY2tlciA9IGFycmF5T2ZUeXBlQ2hlY2tlcnNbaV07XG4gICAgICBpZiAodHlwZW9mIGNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIG9uZU9mVHlwZS4gRXhwZWN0ZWQgYW4gYXJyYXkgb2YgY2hlY2sgZnVuY3Rpb25zLCBidXQgJyArXG4gICAgICAgICAgJ3JlY2VpdmVkICcgKyBnZXRQb3N0Zml4Rm9yVHlwZVdhcm5pbmcoY2hlY2tlcikgKyAnIGF0IGluZGV4ICcgKyBpICsgJy4nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheU9mVHlwZUNoZWNrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGVja2VyID0gYXJyYXlPZlR5cGVDaGVja2Vyc1tpXTtcbiAgICAgICAgaWYgKGNoZWNrZXIocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBSZWFjdFByb3BUeXBlc1NlY3JldCkgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agc3VwcGxpZWQgdG8gJyArICgnYCcgKyBjb21wb25lbnROYW1lICsgJ2AuJykpO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlTm9kZUNoZWNrZXIoKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICBpZiAoIWlzTm9kZShwcm9wc1twcm9wTmFtZV0pKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agc3VwcGxpZWQgdG8gJyArICgnYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGEgUmVhY3ROb2RlLicpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlU2hhcGVUeXBlQ2hlY2tlcihzaGFwZVR5cGVzKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlIGAnICsgcHJvcFR5cGUgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYG9iamVjdGAuJykpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHNoYXBlVHlwZXMpIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBzaGFwZVR5cGVzW2tleV07XG4gICAgICAgIGlmICghY2hlY2tlcikge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIoc2hhcGVUeXBlcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSBgJyArIHByb3BUeXBlICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGBvYmplY3RgLicpKTtcbiAgICAgIH1cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgYWxsIGtleXMgaW4gY2FzZSBzb21lIGFyZSByZXF1aXJlZCBidXQgbWlzc2luZyBmcm9tXG4gICAgICAvLyBwcm9wcy5cbiAgICAgIHZhciBhbGxLZXlzID0gYXNzaWduKHt9LCBwcm9wc1twcm9wTmFtZV0sIHNoYXBlVHlwZXMpO1xuICAgICAgZm9yICh2YXIga2V5IGluIGFsbEtleXMpIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBzaGFwZVR5cGVzW2tleV07XG4gICAgICAgIGlmICghY2hlY2tlcikge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcihcbiAgICAgICAgICAgICdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBrZXkgYCcgKyBrZXkgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYC4nICtcbiAgICAgICAgICAgICdcXG5CYWQgb2JqZWN0OiAnICsgSlNPTi5zdHJpbmdpZnkocHJvcHNbcHJvcE5hbWVdLCBudWxsLCAnICAnKSArXG4gICAgICAgICAgICAnXFxuVmFsaWQga2V5czogJyArICBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhzaGFwZVR5cGVzKSwgbnVsbCwgJyAgJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNOb2RlKHByb3BWYWx1ZSkge1xuICAgIHN3aXRjaCAodHlwZW9mIHByb3BWYWx1ZSkge1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gIXByb3BWYWx1ZTtcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gcHJvcFZhbHVlLmV2ZXJ5KGlzTm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BWYWx1ZSA9PT0gbnVsbCB8fCBpc1ZhbGlkRWxlbWVudChwcm9wVmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4ocHJvcFZhbHVlKTtcbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwocHJvcFZhbHVlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcbiAgICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gcHJvcFZhbHVlLmVudHJpZXMpIHtcbiAgICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgICAgaWYgKCFpc05vZGUoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSXRlcmF0b3Igd2lsbCBwcm92aWRlIGVudHJ5IFtrLHZdIHR1cGxlcyByYXRoZXIgdGhhbiB2YWx1ZXMuXG4gICAgICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgICAgIHZhciBlbnRyeSA9IHN0ZXAudmFsdWU7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNOb2RlKGVudHJ5WzFdKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1N5bWJvbChwcm9wVHlwZSwgcHJvcFZhbHVlKSB7XG4gICAgLy8gTmF0aXZlIFN5bWJvbC5cbiAgICBpZiAocHJvcFR5cGUgPT09ICdzeW1ib2wnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyAxOS40LjMuNSBTeW1ib2wucHJvdG90eXBlW0BAdG9TdHJpbmdUYWddID09PSAnU3ltYm9sJ1xuICAgIGlmIChwcm9wVmFsdWVbJ0BAdG9TdHJpbmdUYWcnXSA9PT0gJ1N5bWJvbCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrIGZvciBub24tc3BlYyBjb21wbGlhbnQgU3ltYm9scyB3aGljaCBhcmUgcG9seWZpbGxlZC5cbiAgICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBwcm9wVmFsdWUgaW5zdGFuY2VvZiBTeW1ib2wpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIEVxdWl2YWxlbnQgb2YgYHR5cGVvZmAgYnV0IHdpdGggc3BlY2lhbCBoYW5kbGluZyBmb3IgYXJyYXkgYW5kIHJlZ2V4cC5cbiAgZnVuY3Rpb24gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKSB7XG4gICAgdmFyIHByb3BUeXBlID0gdHlwZW9mIHByb3BWYWx1ZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wVmFsdWUpKSB7XG4gICAgICByZXR1cm4gJ2FycmF5JztcbiAgICB9XG4gICAgaWYgKHByb3BWYWx1ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgLy8gT2xkIHdlYmtpdHMgKGF0IGxlYXN0IHVudGlsIEFuZHJvaWQgNC4wKSByZXR1cm4gJ2Z1bmN0aW9uJyByYXRoZXIgdGhhblxuICAgICAgLy8gJ29iamVjdCcgZm9yIHR5cGVvZiBhIFJlZ0V4cC4gV2UnbGwgbm9ybWFsaXplIHRoaXMgaGVyZSBzbyB0aGF0IC9ibGEvXG4gICAgICAvLyBwYXNzZXMgUHJvcFR5cGVzLm9iamVjdC5cbiAgICAgIHJldHVybiAnb2JqZWN0JztcbiAgICB9XG4gICAgaWYgKGlzU3ltYm9sKHByb3BUeXBlLCBwcm9wVmFsdWUpKSB7XG4gICAgICByZXR1cm4gJ3N5bWJvbCc7XG4gICAgfVxuICAgIHJldHVybiBwcm9wVHlwZTtcbiAgfVxuXG4gIC8vIFRoaXMgaGFuZGxlcyBtb3JlIHR5cGVzIHRoYW4gYGdldFByb3BUeXBlYC4gT25seSB1c2VkIGZvciBlcnJvciBtZXNzYWdlcy5cbiAgLy8gU2VlIGBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcmAuXG4gIGZ1bmN0aW9uIGdldFByZWNpc2VUeXBlKHByb3BWYWx1ZSkge1xuICAgIGlmICh0eXBlb2YgcHJvcFZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBwcm9wVmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJyArIHByb3BWYWx1ZTtcbiAgICB9XG4gICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICBpZiAocHJvcFR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAocHJvcFZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gJ2RhdGUnO1xuICAgICAgfSBlbHNlIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmV0dXJuICdyZWdleHAnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcFR5cGU7XG4gIH1cblxuICAvLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcG9zdGZpeGVkIHRvIGEgd2FybmluZyBhYm91dCBhbiBpbnZhbGlkIHR5cGUuXG4gIC8vIEZvciBleGFtcGxlLCBcInVuZGVmaW5lZFwiIG9yIFwib2YgdHlwZSBhcnJheVwiXG4gIGZ1bmN0aW9uIGdldFBvc3RmaXhGb3JUeXBlV2FybmluZyh2YWx1ZSkge1xuICAgIHZhciB0eXBlID0gZ2V0UHJlY2lzZVR5cGUodmFsdWUpO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgcmV0dXJuICdhbiAnICsgdHlwZTtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICBjYXNlICdyZWdleHAnOlxuICAgICAgICByZXR1cm4gJ2EgJyArIHR5cGU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm5zIGNsYXNzIG5hbWUgb2YgdGhlIG9iamVjdCwgaWYgYW55LlxuICBmdW5jdGlvbiBnZXRDbGFzc05hbWUocHJvcFZhbHVlKSB7XG4gICAgaWYgKCFwcm9wVmFsdWUuY29uc3RydWN0b3IgfHwgIXByb3BWYWx1ZS5jb25zdHJ1Y3Rvci5uYW1lKSB7XG4gICAgICByZXR1cm4gQU5PTllNT1VTO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcFZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cblxuICBSZWFjdFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyA9IGNoZWNrUHJvcFR5cGVzO1xuICBSZWFjdFByb3BUeXBlcy5Qcm9wVHlwZXMgPSBSZWFjdFByb3BUeXBlcztcblxuICByZXR1cm4gUmVhY3RQcm9wVHlwZXM7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/prop-types/factoryWithTypeCheckers.js\n"); /***/ }), @@ -1371,7 +1335,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var inli /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrefixedKeyframes\", function() { return getPrefixedKeyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrefixedStyle\", function() { return getPrefixedStyle; });\n/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/createPrefixer */ \"./node_modules/inline-style-prefixer/static/createPrefixer.js\");\n/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/createPrefixer */ \"./node_modules/inline-style-prefixer/dynamic/createPrefixer.js\");\n/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! exenv */ \"./node_modules/exenv/index.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _prefix_data_static__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-data/static */ \"./node_modules/radium/es/prefix-data/static.js\");\n/* harmony import */ var _prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./prefix-data/dynamic */ \"./node_modules/radium/es/prefix-data/dynamic.js\");\n/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ \"./node_modules/radium/es/camel-case-props-to-dash-case.js\");\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\n\n\n\n\n\n\n\n\n\n\nvar prefixAll = inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default()(_prefix_data_static__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar InlineStylePrefixer = inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default()(_prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__[\"default\"], prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n}\n\n// Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n if (Array.isArray(val)) {\n if (exenv__WEBPACK_IMPORTED_MODULE_2___default.a.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(';' + Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__[\"camelCaseToDashCase\"])(key) + ':');\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\nvar _lastUserAgent = void 0;\nvar _cachedPrefixer = void 0;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (true) {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (!_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({ userAgent: actualUserAgent });\n }\n _lastUserAgent = actualUserAgent;\n }\n return _cachedPrefixer;\n}\n\nfunction getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes;\n}\n\n// Returns a new style object with vendor prefixes added to property names and\n// values.\nfunction getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JhZGl1bS9lcy9wcmVmaXhlci5qcz85Y2JjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG9HQUFvRyxtQkFBbUIsRUFBRSxtQkFBbUIsOEhBQThIOztBQUUxUTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRStFO0FBQ0U7QUFDeEM7O0FBRUs7QUFDRTs7QUFFc0I7O0FBRXRFLGdCQUFnQixrRkFBb0IsQ0FBQywyREFBVTtBQUMvQywwQkFBMEIsbUZBQXFCLENBQUMsNERBQVc7O0FBRTNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsNENBQW9CO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIsa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLDBGQUFtQjtBQUNoRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpREFBaUQsNkJBQTZCO0FBQzlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3JhZGl1bS9lcy9wcmVmaXhlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTtcblxuLyoqXG4gKiBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vanNzdHlsZXMvY3NzLXZlbmRvciwgYnV0IHdpdGhvdXQgaGF2aW5nIHRvXG4gKiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGNhc2VzIGFsbCB0aGUgdGltZS5cbiAqXG4gKiBcbiAqL1xuXG5pbXBvcnQgY3JlYXRlU3RhdGljUHJlZml4ZXIgZnJvbSAnaW5saW5lLXN0eWxlLXByZWZpeGVyL3N0YXRpYy9jcmVhdGVQcmVmaXhlcic7XG5pbXBvcnQgY3JlYXRlRHluYW1pY1ByZWZpeGVyIGZyb20gJ2lubGluZS1zdHlsZS1wcmVmaXhlci9keW5hbWljL2NyZWF0ZVByZWZpeGVyJztcbmltcG9ydCBFeGVjdXRpb25FbnZpcm9ubWVudCBmcm9tICdleGVudic7XG5cbmltcG9ydCBzdGF0aWNEYXRhIGZyb20gJy4vcHJlZml4LWRhdGEvc3RhdGljJztcbmltcG9ydCBkeW5hbWljRGF0YSBmcm9tICcuL3ByZWZpeC1kYXRhL2R5bmFtaWMnO1xuXG5pbXBvcnQgeyBjYW1lbENhc2VUb0Rhc2hDYXNlIH0gZnJvbSAnLi9jYW1lbC1jYXNlLXByb3BzLXRvLWRhc2gtY2FzZSc7XG5cbnZhciBwcmVmaXhBbGwgPSBjcmVhdGVTdGF0aWNQcmVmaXhlcihzdGF0aWNEYXRhKTtcbnZhciBJbmxpbmVTdHlsZVByZWZpeGVyID0gY3JlYXRlRHluYW1pY1ByZWZpeGVyKGR5bmFtaWNEYXRhLCBwcmVmaXhBbGwpO1xuXG5mdW5jdGlvbiB0cmFuc2Zvcm1WYWx1ZXMoc3R5bGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlKS5yZWR1Y2UoZnVuY3Rpb24gKG5ld1N0eWxlLCBrZXkpIHtcbiAgICB2YXIgdmFsdWUgPSBzdHlsZVtrZXldO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5qb2luKCc7JyArIGtleSArICc6Jyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZih2YWx1ZSkpID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWUudG9TdHJpbmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBuZXdTdHlsZVtrZXldID0gdmFsdWU7XG4gICAgcmV0dXJuIG5ld1N0eWxlO1xuICB9LCB7fSk7XG59XG5cbi8vIEZsYXR0ZW4gcHJlZml4ZWQgdmFsdWVzIHRoYXQgYXJlIGFycmF5cyB0byBzdHJpbmdzLlxuLy9cbi8vIFdlIGdldCBwcmVmaXhlZCBzdHlsZXMgYmFjayBpbiB0aGUgZm9ybSBvZjpcbi8vIC0gYGRpc3BsYXk6IFwiZmxleFwiYCBPUlxuLy8gLSBgZGlzcGxheTogXCItd2Via2l0LWZsZXhcImAgT1Jcbi8vIC0gYGRpc3BsYXk6IFsvKiAuLi4gKi8sIFwiLXdlYmtpdC1mbGV4XCIsIFwiZmxleFwiXVxuLy9cbi8vIFRoZSBsYXN0IGZvcm0gaXMgcHJvYmxlbWF0aWMgZm9yIGV2ZW50dWFsIHVzZSBpbiB0aGUgYnJvd3NlciBhbmQgc2VydmVyXG4vLyByZW5kZXIuIE1vcmUgY29uZnVzaW5nbHksIHdlIGhhdmUgdG8gZG8gKipkaWZmZXJlbnQqKiB0aGluZ3Mgb24gdGhlXG4vLyBicm93c2VyIGFuZCBzZXJ2ZXIgKG5vdGVkIGlubGluZSBiZWxvdykuXG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL0Zvcm1pZGFibGVMYWJzL3JhZGl1bS9pc3N1ZXMvOTU4XG5mdW5jdGlvbiBmbGF0dGVuU3R5bGVWYWx1ZXMoc3R5bGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlKS5yZWR1Y2UoZnVuY3Rpb24gKG5ld1N0eWxlLCBrZXkpIHtcbiAgICB2YXIgdmFsID0gc3R5bGVba2V5XTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICBpZiAoRXhlY3V0aW9uRW52aXJvbm1lbnQuY2FuVXNlRE9NKSB7XG4gICAgICAgIC8vIEZvciB0aGUgKipicm93c2VyKiosIHdoZW4gZmFjZWQgd2l0aCBtdWx0aXBsZSB2YWx1ZXMsIHdlIGp1c3QgdGFrZVxuICAgICAgICAvLyB0aGUgKipsYXN0Kiogb25lLCB3aGljaCBpcyB0aGUgb3JpZ2luYWwgcGFzc2VkIGluIHZhbHVlIGJlZm9yZVxuICAgICAgICAvLyBwcmVmaXhpbmcuIFRoaXMgX3Nob3VsZF8gd29yaywgYmVjYXVzZSBgaW5saW5lLXN0eWxlLXByZWZpeGVyYFxuICAgICAgICAvLyB3ZSdyZSBqdXN0IHBhc3NpbmcgdGhyb3VnaCB3aGF0IHdvdWxkIGhhcHBlbiB3aXRob3V0IElTUC5cblxuICAgICAgICB2YWwgPSB2YWxbdmFsLmxlbmd0aCAtIDFdLnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3IgdGhlICoqc2VydmVyKiosIHdlIGp1c3QgY29uY2F0ZW5hdGUgdGhpbmdzIHRvZ2V0aGVyIGFuZCBjb252ZXJ0XG4gICAgICAgIC8vIHRoZSBzdHlsZSBvYmplY3QgdmFsdWVzIGludG8gYSBoYWNrZWQtdXAgc3RyaW5nIG9mIGxpa2UgYGRpc3BsYXk6XG4gICAgICAgIC8vIFwiLXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleFwiYCB0aGF0IHdpbGwgU1NSIHJlbmRlciBjb3JyZWN0bHkgdG8gbGlrZVxuICAgICAgICAvLyBgXCJkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXhcImAgYnV0IHdvdWxkIG90aGVyd2lzZSBiZVxuICAgICAgICAvLyB0b3RhbGx5IGludmFsaWQgdmFsdWVzLlxuXG4gICAgICAgIC8vIFdlIGNvbnZlcnQga2V5cyB0byBkYXNoLWNhc2Ugb25seSBmb3IgdGhlIHNlcmlhbGl6ZSB2YWx1ZXMgYW5kXG4gICAgICAgIC8vIGxlYXZlIHRoZSByZWFsIGtleSBjYW1lbC1jYXNlZCBzbyBpdCdzIGFzIGV4cGVjdGVkIHRvIFJlYWN0IGFuZFxuICAgICAgICAvLyBvdGhlciBwYXJ0cyBvZiB0aGUgcHJvY2Vzc2luZyBjaGFpbi5cbiAgICAgICAgdmFsID0gdmFsLmpvaW4oJzsnICsgY2FtZWxDYXNlVG9EYXNoQ2FzZShrZXkpICsgJzonKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdTdHlsZVtrZXldID0gdmFsO1xuICAgIHJldHVybiBuZXdTdHlsZTtcbiAgfSwge30pO1xufVxuXG52YXIgX2hhc1dhcm5lZEFib3V0VXNlckFnZW50ID0gZmFsc2U7XG52YXIgX2xhc3RVc2VyQWdlbnQgPSB2b2lkIDA7XG52YXIgX2NhY2hlZFByZWZpeGVyID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBnZXRQcmVmaXhlcih1c2VyQWdlbnQpIHtcbiAgdmFyIGFjdHVhbFVzZXJBZ2VudCA9IHVzZXJBZ2VudCB8fCBnbG9iYWwgJiYgZ2xvYmFsLm5hdmlnYXRvciAmJiBnbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudDtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmICghYWN0dWFsVXNlckFnZW50ICYmICFfaGFzV2FybmVkQWJvdXRVc2VyQWdlbnQpIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgIGNvbnNvbGUud2FybignUmFkaXVtOiB1c2VyQWdlbnQgc2hvdWxkIGJlIHN1cHBsaWVkIGZvciBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIFNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9Gb3JtaWRhYmxlTGFicy9yYWRpdW0vdHJlZS9tYXN0ZXIvZG9jcy9hcGkjcmFkaXVtICcgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgIF9oYXNXYXJuZWRBYm91dFVzZXJBZ2VudCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFfY2FjaGVkUHJlZml4ZXIgfHwgYWN0dWFsVXNlckFnZW50ICE9PSBfbGFzdFVzZXJBZ2VudCkge1xuICAgIGlmIChhY3R1YWxVc2VyQWdlbnQgPT09ICdhbGwnKSB7XG4gICAgICBfY2FjaGVkUHJlZml4ZXIgPSB7XG4gICAgICAgIHByZWZpeDogcHJlZml4QWxsLFxuICAgICAgICBwcmVmaXhlZEtleWZyYW1lczogJ2tleWZyYW1lcydcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIF9jYWNoZWRQcmVmaXhlciA9IG5ldyBJbmxpbmVTdHlsZVByZWZpeGVyKHsgdXNlckFnZW50OiBhY3R1YWxVc2VyQWdlbnQgfSk7XG4gICAgfVxuICAgIF9sYXN0VXNlckFnZW50ID0gYWN0dWFsVXNlckFnZW50O1xuICB9XG4gIHJldHVybiBfY2FjaGVkUHJlZml4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmVmaXhlZEtleWZyYW1lcyh1c2VyQWdlbnQpIHtcbiAgcmV0dXJuIGdldFByZWZpeGVyKHVzZXJBZ2VudCkucHJlZml4ZWRLZXlmcmFtZXM7XG59XG5cbi8vIFJldHVybnMgYSBuZXcgc3R5bGUgb2JqZWN0IHdpdGggdmVuZG9yIHByZWZpeGVzIGFkZGVkIHRvIHByb3BlcnR5IG5hbWVzIGFuZFxuLy8gdmFsdWVzLlxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZWZpeGVkU3R5bGUoc3R5bGUsIHVzZXJBZ2VudCkge1xuICB2YXIgc3R5bGVXaXRoRmFsbGJhY2tzID0gdHJhbnNmb3JtVmFsdWVzKHN0eWxlKTtcbiAgdmFyIHByZWZpeGVyID0gZ2V0UHJlZml4ZXIodXNlckFnZW50KTtcbiAgdmFyIHByZWZpeGVkU3R5bGUgPSBwcmVmaXhlci5wcmVmaXgoc3R5bGVXaXRoRmFsbGJhY2tzKTtcbiAgdmFyIGZsYXR0ZW5lZFN0eWxlID0gZmxhdHRlblN0eWxlVmFsdWVzKHByZWZpeGVkU3R5bGUpO1xuICByZXR1cm4gZmxhdHRlbmVkU3R5bGU7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/radium/es/prefixer.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrefixedKeyframes\", function() { return getPrefixedKeyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrefixedStyle\", function() { return getPrefixedStyle; });\n/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/createPrefixer */ \"./node_modules/inline-style-prefixer/static/createPrefixer.js\");\n/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/createPrefixer */ \"./node_modules/inline-style-prefixer/dynamic/createPrefixer.js\");\n/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! exenv */ \"./node_modules/exenv/index.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _prefix_data_static__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-data/static */ \"./node_modules/radium/es/prefix-data/static.js\");\n/* harmony import */ var _prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./prefix-data/dynamic */ \"./node_modules/radium/es/prefix-data/dynamic.js\");\n/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ \"./node_modules/radium/es/camel-case-props-to-dash-case.js\");\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\n\n\n\n\n\n\n\n\n\n\nvar prefixAll = inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default()(_prefix_data_static__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar InlineStylePrefixer = inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default()(_prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__[\"default\"], prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n}\n\n// Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n if (Array.isArray(val)) {\n if (exenv__WEBPACK_IMPORTED_MODULE_2___default.a.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(';' + Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__[\"camelCaseToDashCase\"])(key) + ':');\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\nvar _lastUserAgent = void 0;\nvar _cachedPrefixer = void 0;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (true) {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (\"development\" === 'test' || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({ userAgent: actualUserAgent });\n }\n _lastUserAgent = actualUserAgent;\n }\n\n return _cachedPrefixer;\n}\n\nfunction getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes || 'keyframes';\n}\n\n// Returns a new style object with vendor prefixes added to property names and\n// values.\nfunction getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JhZGl1bS9lcy9wcmVmaXhlci5qcz85Y2JjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG9HQUFvRyxtQkFBbUIsRUFBRSxtQkFBbUIsOEhBQThIOztBQUUxUTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRStFO0FBQ0U7QUFDeEM7O0FBRUs7QUFDRTs7QUFFc0I7O0FBRXRFLGdCQUFnQixrRkFBb0IsQ0FBQywyREFBVTtBQUMvQywwQkFBMEIsbUZBQXFCLENBQUMsNERBQVc7O0FBRTNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsNENBQW9CO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIsa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLDBGQUFtQjtBQUNoRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU0sYUFBb0I7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpREFBaUQsNkJBQTZCO0FBQzlFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9yYWRpdW0vZXMvcHJlZml4ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfSA6IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07XG5cbi8qKlxuICogQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2pzc3R5bGVzL2Nzcy12ZW5kb3IsIGJ1dCB3aXRob3V0IGhhdmluZyB0b1xuICogY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBjYXNlcyBhbGwgdGhlIHRpbWUuXG4gKlxuICogXG4gKi9cblxuaW1wb3J0IGNyZWF0ZVN0YXRpY1ByZWZpeGVyIGZyb20gJ2lubGluZS1zdHlsZS1wcmVmaXhlci9zdGF0aWMvY3JlYXRlUHJlZml4ZXInO1xuaW1wb3J0IGNyZWF0ZUR5bmFtaWNQcmVmaXhlciBmcm9tICdpbmxpbmUtc3R5bGUtcHJlZml4ZXIvZHluYW1pYy9jcmVhdGVQcmVmaXhlcic7XG5pbXBvcnQgRXhlY3V0aW9uRW52aXJvbm1lbnQgZnJvbSAnZXhlbnYnO1xuXG5pbXBvcnQgc3RhdGljRGF0YSBmcm9tICcuL3ByZWZpeC1kYXRhL3N0YXRpYyc7XG5pbXBvcnQgZHluYW1pY0RhdGEgZnJvbSAnLi9wcmVmaXgtZGF0YS9keW5hbWljJztcblxuaW1wb3J0IHsgY2FtZWxDYXNlVG9EYXNoQ2FzZSB9IGZyb20gJy4vY2FtZWwtY2FzZS1wcm9wcy10by1kYXNoLWNhc2UnO1xuXG52YXIgcHJlZml4QWxsID0gY3JlYXRlU3RhdGljUHJlZml4ZXIoc3RhdGljRGF0YSk7XG52YXIgSW5saW5lU3R5bGVQcmVmaXhlciA9IGNyZWF0ZUR5bmFtaWNQcmVmaXhlcihkeW5hbWljRGF0YSwgcHJlZml4QWxsKTtcblxuZnVuY3Rpb24gdHJhbnNmb3JtVmFsdWVzKHN0eWxlKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZSkucmVkdWNlKGZ1bmN0aW9uIChuZXdTdHlsZSwga2V5KSB7XG4gICAgdmFyIHZhbHVlID0gc3R5bGVba2V5XTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuam9pbignOycgKyBrZXkgKyAnOicpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YodmFsdWUpKSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHZhbHVlLnRvU3RyaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgbmV3U3R5bGVba2V5XSA9IHZhbHVlO1xuICAgIHJldHVybiBuZXdTdHlsZTtcbiAgfSwge30pO1xufVxuXG4vLyBGbGF0dGVuIHByZWZpeGVkIHZhbHVlcyB0aGF0IGFyZSBhcnJheXMgdG8gc3RyaW5ncy5cbi8vXG4vLyBXZSBnZXQgcHJlZml4ZWQgc3R5bGVzIGJhY2sgaW4gdGhlIGZvcm0gb2Y6XG4vLyAtIGBkaXNwbGF5OiBcImZsZXhcImAgT1Jcbi8vIC0gYGRpc3BsYXk6IFwiLXdlYmtpdC1mbGV4XCJgIE9SXG4vLyAtIGBkaXNwbGF5OiBbLyogLi4uICovLCBcIi13ZWJraXQtZmxleFwiLCBcImZsZXhcIl1cbi8vXG4vLyBUaGUgbGFzdCBmb3JtIGlzIHByb2JsZW1hdGljIGZvciBldmVudHVhbCB1c2UgaW4gdGhlIGJyb3dzZXIgYW5kIHNlcnZlclxuLy8gcmVuZGVyLiBNb3JlIGNvbmZ1c2luZ2x5LCB3ZSBoYXZlIHRvIGRvICoqZGlmZmVyZW50KiogdGhpbmdzIG9uIHRoZVxuLy8gYnJvd3NlciBhbmQgc2VydmVyIChub3RlZCBpbmxpbmUgYmVsb3cpLlxuLy9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JtaWRhYmxlTGFicy9yYWRpdW0vaXNzdWVzLzk1OFxuZnVuY3Rpb24gZmxhdHRlblN0eWxlVmFsdWVzKHN0eWxlKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZSkucmVkdWNlKGZ1bmN0aW9uIChuZXdTdHlsZSwga2V5KSB7XG4gICAgdmFyIHZhbCA9IHN0eWxlW2tleV07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgaWYgKEV4ZWN1dGlvbkVudmlyb25tZW50LmNhblVzZURPTSkge1xuICAgICAgICAvLyBGb3IgdGhlICoqYnJvd3NlcioqLCB3aGVuIGZhY2VkIHdpdGggbXVsdGlwbGUgdmFsdWVzLCB3ZSBqdXN0IHRha2VcbiAgICAgICAgLy8gdGhlICoqbGFzdCoqIG9uZSwgd2hpY2ggaXMgdGhlIG9yaWdpbmFsIHBhc3NlZCBpbiB2YWx1ZSBiZWZvcmVcbiAgICAgICAgLy8gcHJlZml4aW5nLiBUaGlzIF9zaG91bGRfIHdvcmssIGJlY2F1c2UgYGlubGluZS1zdHlsZS1wcmVmaXhlcmBcbiAgICAgICAgLy8gd2UncmUganVzdCBwYXNzaW5nIHRocm91Z2ggd2hhdCB3b3VsZCBoYXBwZW4gd2l0aG91dCBJU1AuXG5cbiAgICAgICAgdmFsID0gdmFsW3ZhbC5sZW5ndGggLSAxXS50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRm9yIHRoZSAqKnNlcnZlcioqLCB3ZSBqdXN0IGNvbmNhdGVuYXRlIHRoaW5ncyB0b2dldGhlciBhbmQgY29udmVydFxuICAgICAgICAvLyB0aGUgc3R5bGUgb2JqZWN0IHZhbHVlcyBpbnRvIGEgaGFja2VkLXVwIHN0cmluZyBvZiBsaWtlIGBkaXNwbGF5OlxuICAgICAgICAvLyBcIi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXhcImAgdGhhdCB3aWxsIFNTUiByZW5kZXIgY29ycmVjdGx5IHRvIGxpa2VcbiAgICAgICAgLy8gYFwiZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4XCJgIGJ1dCB3b3VsZCBvdGhlcndpc2UgYmVcbiAgICAgICAgLy8gdG90YWxseSBpbnZhbGlkIHZhbHVlcy5cblxuICAgICAgICAvLyBXZSBjb252ZXJ0IGtleXMgdG8gZGFzaC1jYXNlIG9ubHkgZm9yIHRoZSBzZXJpYWxpemUgdmFsdWVzIGFuZFxuICAgICAgICAvLyBsZWF2ZSB0aGUgcmVhbCBrZXkgY2FtZWwtY2FzZWQgc28gaXQncyBhcyBleHBlY3RlZCB0byBSZWFjdCBhbmRcbiAgICAgICAgLy8gb3RoZXIgcGFydHMgb2YgdGhlIHByb2Nlc3NpbmcgY2hhaW4uXG4gICAgICAgIHZhbCA9IHZhbC5qb2luKCc7JyArIGNhbWVsQ2FzZVRvRGFzaENhc2Uoa2V5KSArICc6Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV3U3R5bGVba2V5XSA9IHZhbDtcbiAgICByZXR1cm4gbmV3U3R5bGU7XG4gIH0sIHt9KTtcbn1cblxudmFyIF9oYXNXYXJuZWRBYm91dFVzZXJBZ2VudCA9IGZhbHNlO1xudmFyIF9sYXN0VXNlckFnZW50ID0gdm9pZCAwO1xudmFyIF9jYWNoZWRQcmVmaXhlciA9IHZvaWQgMDtcblxuZnVuY3Rpb24gZ2V0UHJlZml4ZXIodXNlckFnZW50KSB7XG4gIHZhciBhY3R1YWxVc2VyQWdlbnQgPSB1c2VyQWdlbnQgfHwgZ2xvYmFsICYmIGdsb2JhbC5uYXZpZ2F0b3IgJiYgZ2xvYmFsLm5hdmlnYXRvci51c2VyQWdlbnQ7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAoIWFjdHVhbFVzZXJBZ2VudCAmJiAhX2hhc1dhcm5lZEFib3V0VXNlckFnZW50KSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4gICAgICBjb25zb2xlLndhcm4oJ1JhZGl1bTogdXNlckFnZW50IHNob3VsZCBiZSBzdXBwbGllZCBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nLiBTZWUgJyArICdodHRwczovL2dpdGh1Yi5jb20vRm9ybWlkYWJsZUxhYnMvcmFkaXVtL3RyZWUvbWFzdGVyL2RvY3MvYXBpI3JhZGl1bSAnICsgJ2ZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1jb25zb2xlICovXG4gICAgICBfaGFzV2FybmVkQWJvdXRVc2VyQWdlbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnIHx8ICFfY2FjaGVkUHJlZml4ZXIgfHwgYWN0dWFsVXNlckFnZW50ICE9PSBfbGFzdFVzZXJBZ2VudCkge1xuICAgIGlmIChhY3R1YWxVc2VyQWdlbnQgPT09ICdhbGwnKSB7XG4gICAgICBfY2FjaGVkUHJlZml4ZXIgPSB7XG4gICAgICAgIHByZWZpeDogcHJlZml4QWxsLFxuICAgICAgICBwcmVmaXhlZEtleWZyYW1lczogJ2tleWZyYW1lcydcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIF9jYWNoZWRQcmVmaXhlciA9IG5ldyBJbmxpbmVTdHlsZVByZWZpeGVyKHsgdXNlckFnZW50OiBhY3R1YWxVc2VyQWdlbnQgfSk7XG4gICAgfVxuICAgIF9sYXN0VXNlckFnZW50ID0gYWN0dWFsVXNlckFnZW50O1xuICB9XG5cbiAgcmV0dXJuIF9jYWNoZWRQcmVmaXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZWZpeGVkS2V5ZnJhbWVzKHVzZXJBZ2VudCkge1xuICByZXR1cm4gZ2V0UHJlZml4ZXIodXNlckFnZW50KS5wcmVmaXhlZEtleWZyYW1lcyB8fCAna2V5ZnJhbWVzJztcbn1cblxuLy8gUmV0dXJucyBhIG5ldyBzdHlsZSBvYmplY3Qgd2l0aCB2ZW5kb3IgcHJlZml4ZXMgYWRkZWQgdG8gcHJvcGVydHkgbmFtZXMgYW5kXG4vLyB2YWx1ZXMuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJlZml4ZWRTdHlsZShzdHlsZSwgdXNlckFnZW50KSB7XG4gIHZhciBzdHlsZVdpdGhGYWxsYmFja3MgPSB0cmFuc2Zvcm1WYWx1ZXMoc3R5bGUpO1xuICB2YXIgcHJlZml4ZXIgPSBnZXRQcmVmaXhlcih1c2VyQWdlbnQpO1xuICB2YXIgcHJlZml4ZWRTdHlsZSA9IHByZWZpeGVyLnByZWZpeChzdHlsZVdpdGhGYWxsYmFja3MpO1xuICB2YXIgZmxhdHRlbmVkU3R5bGUgPSBmbGF0dGVuU3R5bGVWYWx1ZXMocHJlZml4ZWRTdHlsZSk7XG4gIHJldHVybiBmbGF0dGVuZWRTdHlsZTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/radium/es/prefixer.js\n"); /***/ }), @@ -4818,7 +4782,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = undefined;\n\nvar _ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports[\"default\"] = connect;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _storeShape = __webpack_require__(/*! ../utils/storeShape */ \"./node_modules/react-redux/lib/utils/storeShape.js\");\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = __webpack_require__(/*! ../utils/shallowEqual */ \"./node_modules/react-redux/lib/utils/shallowEqual.js\");\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = __webpack_require__(/*! ../utils/wrapActionCreators */ \"./node_modules/react-redux/lib/utils/wrapActionCreators.js\");\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = __webpack_require__(/*! ../utils/warning */ \"./node_modules/react-redux/lib/utils/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = __webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\");\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/index.js\");\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = __webpack_require__(/*! invariant */ \"./node_modules/invariant/browser.js\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n};\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = { value: null };\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n}\n\n// Helps track hot reloading.\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n\n var mapDispatch = void 0;\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure,\n pure = _options$pure === undefined ? true : _options$pure,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\n // Helps track hot reloading.\n var version = nextVersion++;\n\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n if (true) {\n checkStateShape(mergedProps, 'mergeProps');\n }\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a , ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n _this.state = { storeState: storeState };\n _this.clearCache();\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (true) {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (true) {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (true) {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (true) {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n if (!haveStatePropsChanged) {\n return;\n }\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({ storeState: storeState });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged,\n hasStoreStateChanged = this.hasStoreStateChanged,\n haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated,\n statePropsPrecalculationError = this.statePropsPrecalculationError,\n renderedElement = this.renderedElement;\n\n\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (true) {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n }\n\n // We are hot reloading!\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlZHV4L2xpYi9jb21wb25lbnRzL2Nvbm5lY3QuanM/NTViYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQSxtREFBbUQsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUU5UDs7QUFFQSxhQUFhLG1CQUFPLENBQUMsb0JBQU87O0FBRTVCLGtCQUFrQixtQkFBTyxDQUFDLCtFQUFxQjs7QUFFL0M7O0FBRUEsb0JBQW9CLG1CQUFPLENBQUMsbUZBQXVCOztBQUVuRDs7QUFFQSwwQkFBMEIsbUJBQU8sQ0FBQywrRkFBNkI7O0FBRS9EOztBQUVBLGVBQWUsbUJBQU8sQ0FBQyx5RUFBa0I7O0FBRXpDOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLG9FQUFzQjs7QUFFbkQ7O0FBRUEsNEJBQTRCLG1CQUFPLENBQUMsZ0ZBQXlCOztBQUU3RDs7QUFFQSxpQkFBaUIsbUJBQU8sQ0FBQyxzREFBVzs7QUFFcEM7O0FBRUEsc0NBQXNDLHVDQUF1QyxrQkFBa0I7O0FBRS9GLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWU7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVUsSUFBcUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1Qix5QkFBeUI7QUFDaEQ7O0FBRUE7QUFDQSx3R0FBd0csZ0JBQWdCOztBQUV4SDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdGQUF3RjtBQUN4RjtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9yZWFjdC1yZWR1eC9saWIvY29tcG9uZW50cy9jb25uZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IGNvbm5lY3Q7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgX3N0b3JlU2hhcGUgPSByZXF1aXJlKCcuLi91dGlscy9zdG9yZVNoYXBlJyk7XG5cbnZhciBfc3RvcmVTaGFwZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdG9yZVNoYXBlKTtcblxudmFyIF9zaGFsbG93RXF1YWwgPSByZXF1aXJlKCcuLi91dGlscy9zaGFsbG93RXF1YWwnKTtcblxudmFyIF9zaGFsbG93RXF1YWwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2hhbGxvd0VxdWFsKTtcblxudmFyIF93cmFwQWN0aW9uQ3JlYXRvcnMgPSByZXF1aXJlKCcuLi91dGlscy93cmFwQWN0aW9uQ3JlYXRvcnMnKTtcblxudmFyIF93cmFwQWN0aW9uQ3JlYXRvcnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfd3JhcEFjdGlvbkNyZWF0b3JzKTtcblxudmFyIF93YXJuaW5nID0gcmVxdWlyZSgnLi4vdXRpbHMvd2FybmluZycpO1xuXG52YXIgX3dhcm5pbmcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfd2FybmluZyk7XG5cbnZhciBfaXNQbGFpbk9iamVjdCA9IHJlcXVpcmUoJ2xvZGFzaC9pc1BsYWluT2JqZWN0Jyk7XG5cbnZhciBfaXNQbGFpbk9iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1BsYWluT2JqZWN0KTtcblxudmFyIF9ob2lzdE5vblJlYWN0U3RhdGljcyA9IHJlcXVpcmUoJ2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzJyk7XG5cbnZhciBfaG9pc3ROb25SZWFjdFN0YXRpY3MyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaG9pc3ROb25SZWFjdFN0YXRpY3MpO1xuXG52YXIgX2ludmFyaWFudCA9IHJlcXVpcmUoJ2ludmFyaWFudCcpO1xuXG52YXIgX2ludmFyaWFudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pbnZhcmlhbnQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgZGVmYXVsdE1hcFN0YXRlVG9Qcm9wcyA9IGZ1bmN0aW9uIGRlZmF1bHRNYXBTdGF0ZVRvUHJvcHMoc3RhdGUpIHtcbiAgcmV0dXJuIHt9O1xufTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xudmFyIGRlZmF1bHRNYXBEaXNwYXRjaFRvUHJvcHMgPSBmdW5jdGlvbiBkZWZhdWx0TWFwRGlzcGF0Y2hUb1Byb3BzKGRpc3BhdGNoKSB7XG4gIHJldHVybiB7IGRpc3BhdGNoOiBkaXNwYXRjaCB9O1xufTtcbnZhciBkZWZhdWx0TWVyZ2VQcm9wcyA9IGZ1bmN0aW9uIGRlZmF1bHRNZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIHBhcmVudFByb3BzKSB7XG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgcGFyZW50UHJvcHMsIHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMpO1xufTtcblxuZnVuY3Rpb24gZ2V0RGlzcGxheU5hbWUoV3JhcHBlZENvbXBvbmVudCkge1xuICByZXR1cm4gV3JhcHBlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVkQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCc7XG59XG5cbnZhciBlcnJvck9iamVjdCA9IHsgdmFsdWU6IG51bGwgfTtcbmZ1bmN0aW9uIHRyeUNhdGNoKGZuLCBjdHgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4uYXBwbHkoY3R4KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGVycm9yT2JqZWN0LnZhbHVlID0gZTtcbiAgICByZXR1cm4gZXJyb3JPYmplY3Q7XG4gIH1cbn1cblxuLy8gSGVscHMgdHJhY2sgaG90IHJlbG9hZGluZy5cbnZhciBuZXh0VmVyc2lvbiA9IDA7XG5cbmZ1bmN0aW9uIGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMsIG1lcmdlUHJvcHMpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gIHZhciBzaG91bGRTdWJzY3JpYmUgPSBCb29sZWFuKG1hcFN0YXRlVG9Qcm9wcyk7XG4gIHZhciBtYXBTdGF0ZSA9IG1hcFN0YXRlVG9Qcm9wcyB8fCBkZWZhdWx0TWFwU3RhdGVUb1Byb3BzO1xuXG4gIHZhciBtYXBEaXNwYXRjaCA9IHZvaWQgMDtcbiAgaWYgKHR5cGVvZiBtYXBEaXNwYXRjaFRvUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBtYXBEaXNwYXRjaCA9IG1hcERpc3BhdGNoVG9Qcm9wcztcbiAgfSBlbHNlIGlmICghbWFwRGlzcGF0Y2hUb1Byb3BzKSB7XG4gICAgbWFwRGlzcGF0Y2ggPSBkZWZhdWx0TWFwRGlzcGF0Y2hUb1Byb3BzO1xuICB9IGVsc2Uge1xuICAgIG1hcERpc3BhdGNoID0gKDAsIF93cmFwQWN0aW9uQ3JlYXRvcnMyW1wiZGVmYXVsdFwiXSkobWFwRGlzcGF0Y2hUb1Byb3BzKTtcbiAgfVxuXG4gIHZhciBmaW5hbE1lcmdlUHJvcHMgPSBtZXJnZVByb3BzIHx8IGRlZmF1bHRNZXJnZVByb3BzO1xuICB2YXIgX29wdGlvbnMkcHVyZSA9IG9wdGlvbnMucHVyZSxcbiAgICAgIHB1cmUgPSBfb3B0aW9ucyRwdXJlID09PSB1bmRlZmluZWQgPyB0cnVlIDogX29wdGlvbnMkcHVyZSxcbiAgICAgIF9vcHRpb25zJHdpdGhSZWYgPSBvcHRpb25zLndpdGhSZWYsXG4gICAgICB3aXRoUmVmID0gX29wdGlvbnMkd2l0aFJlZiA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBfb3B0aW9ucyR3aXRoUmVmO1xuXG4gIHZhciBjaGVja01lcmdlZEVxdWFscyA9IHB1cmUgJiYgZmluYWxNZXJnZVByb3BzICE9PSBkZWZhdWx0TWVyZ2VQcm9wcztcblxuICAvLyBIZWxwcyB0cmFjayBob3QgcmVsb2FkaW5nLlxuICB2YXIgdmVyc2lvbiA9IG5leHRWZXJzaW9uKys7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHdyYXBXaXRoQ29ubmVjdChXcmFwcGVkQ29tcG9uZW50KSB7XG4gICAgdmFyIGNvbm5lY3REaXNwbGF5TmFtZSA9ICdDb25uZWN0KCcgKyBnZXREaXNwbGF5TmFtZShXcmFwcGVkQ29tcG9uZW50KSArICcpJztcblxuICAgIGZ1bmN0aW9uIGNoZWNrU3RhdGVTaGFwZShwcm9wcywgbWV0aG9kTmFtZSkge1xuICAgICAgaWYgKCEoMCwgX2lzUGxhaW5PYmplY3QyW1wiZGVmYXVsdFwiXSkocHJvcHMpKSB7XG4gICAgICAgICgwLCBfd2FybmluZzJbXCJkZWZhdWx0XCJdKShtZXRob2ROYW1lICsgJygpIGluICcgKyBjb25uZWN0RGlzcGxheU5hbWUgKyAnIG11c3QgcmV0dXJuIGEgcGxhaW4gb2JqZWN0LiAnICsgKCdJbnN0ZWFkIHJlY2VpdmVkICcgKyBwcm9wcyArICcuJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNvbXB1dGVNZXJnZWRQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBwYXJlbnRQcm9wcykge1xuICAgICAgdmFyIG1lcmdlZFByb3BzID0gZmluYWxNZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIHBhcmVudFByb3BzKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGNoZWNrU3RhdGVTaGFwZShtZXJnZWRQcm9wcywgJ21lcmdlUHJvcHMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtZXJnZWRQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgQ29ubmVjdCA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgICBfaW5oZXJpdHMoQ29ubmVjdCwgX0NvbXBvbmVudCk7XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuICFwdXJlIHx8IHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCB8fCB0aGlzLmhhc1N0b3JlU3RhdGVDaGFuZ2VkO1xuICAgICAgfTtcblxuICAgICAgZnVuY3Rpb24gQ29ubmVjdChwcm9wcywgY29udGV4dCkge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29ubmVjdCk7XG5cbiAgICAgICAgdmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX0NvbXBvbmVudC5jYWxsKHRoaXMsIHByb3BzLCBjb250ZXh0KSk7XG5cbiAgICAgICAgX3RoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgICAgIF90aGlzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwgY29udGV4dC5zdG9yZTtcblxuICAgICAgICAoMCwgX2ludmFyaWFudDJbXCJkZWZhdWx0XCJdKShfdGhpcy5zdG9yZSwgJ0NvdWxkIG5vdCBmaW5kIFwic3RvcmVcIiBpbiBlaXRoZXIgdGhlIGNvbnRleHQgb3IgJyArICgncHJvcHMgb2YgXCInICsgY29ubmVjdERpc3BsYXlOYW1lICsgJ1wiLiAnKSArICdFaXRoZXIgd3JhcCB0aGUgcm9vdCBjb21wb25lbnQgaW4gYSA8UHJvdmlkZXI+LCAnICsgKCdvciBleHBsaWNpdGx5IHBhc3MgXCJzdG9yZVwiIGFzIGEgcHJvcCB0byBcIicgKyBjb25uZWN0RGlzcGxheU5hbWUgKyAnXCIuJykpO1xuXG4gICAgICAgIHZhciBzdG9yZVN0YXRlID0gX3RoaXMuc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICAgICAgX3RoaXMuc3RhdGUgPSB7IHN0b3JlU3RhdGU6IHN0b3JlU3RhdGUgfTtcbiAgICAgICAgX3RoaXMuY2xlYXJDYWNoZSgpO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgICB9XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXB1dGVTdGF0ZVByb3BzID0gZnVuY3Rpb24gY29tcHV0ZVN0YXRlUHJvcHMoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIGlmICghdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZUZpbmFsTWFwU3RhdGUoc3RvcmUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzdGF0ZSA9IHN0b3JlLmdldFN0YXRlKCk7XG4gICAgICAgIHZhciBzdGF0ZVByb3BzID0gdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzID8gdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSwgcHJvcHMpIDogdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUoc3RhdGVQcm9wcywgJ21hcFN0YXRlVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0ZVByb3BzO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29uZmlndXJlRmluYWxNYXBTdGF0ZSA9IGZ1bmN0aW9uIGNvbmZpZ3VyZUZpbmFsTWFwU3RhdGUoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIHZhciBtYXBwZWRTdGF0ZSA9IG1hcFN0YXRlKHN0b3JlLmdldFN0YXRlKCksIHByb3BzKTtcbiAgICAgICAgdmFyIGlzRmFjdG9yeSA9IHR5cGVvZiBtYXBwZWRTdGF0ZSA9PT0gJ2Z1bmN0aW9uJztcblxuICAgICAgICB0aGlzLmZpbmFsTWFwU3RhdGVUb1Byb3BzID0gaXNGYWN0b3J5ID8gbWFwcGVkU3RhdGUgOiBtYXBTdGF0ZTtcbiAgICAgICAgdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzID0gdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcy5sZW5ndGggIT09IDE7XG5cbiAgICAgICAgaWYgKGlzRmFjdG9yeSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVTdGF0ZVByb3BzKHN0b3JlLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNoZWNrU3RhdGVTaGFwZShtYXBwZWRTdGF0ZSwgJ21hcFN0YXRlVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXBwZWRTdGF0ZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXB1dGVEaXNwYXRjaFByb3BzID0gZnVuY3Rpb24gY29tcHV0ZURpc3BhdGNoUHJvcHMoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIGlmICghdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZUZpbmFsTWFwRGlzcGF0Y2goc3RvcmUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaXNwYXRjaCA9IHN0b3JlLmRpc3BhdGNoO1xuXG4gICAgICAgIHZhciBkaXNwYXRjaFByb3BzID0gdGhpcy5kb0Rpc3BhdGNoUHJvcHNEZXBlbmRPbk93blByb3BzID8gdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCwgcHJvcHMpIDogdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUoZGlzcGF0Y2hQcm9wcywgJ21hcERpc3BhdGNoVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwYXRjaFByb3BzO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29uZmlndXJlRmluYWxNYXBEaXNwYXRjaCA9IGZ1bmN0aW9uIGNvbmZpZ3VyZUZpbmFsTWFwRGlzcGF0Y2goc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIHZhciBtYXBwZWREaXNwYXRjaCA9IG1hcERpc3BhdGNoKHN0b3JlLmRpc3BhdGNoLCBwcm9wcyk7XG4gICAgICAgIHZhciBpc0ZhY3RvcnkgPSB0eXBlb2YgbWFwcGVkRGlzcGF0Y2ggPT09ICdmdW5jdGlvbic7XG5cbiAgICAgICAgdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyA9IGlzRmFjdG9yeSA/IG1hcHBlZERpc3BhdGNoIDogbWFwRGlzcGF0Y2g7XG4gICAgICAgIHRoaXMuZG9EaXNwYXRjaFByb3BzRGVwZW5kT25Pd25Qcm9wcyA9IHRoaXMuZmluYWxNYXBEaXNwYXRjaFRvUHJvcHMubGVuZ3RoICE9PSAxO1xuXG4gICAgICAgIGlmIChpc0ZhY3RvcnkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlRGlzcGF0Y2hQcm9wcyhzdG9yZSwgcHJvcHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUobWFwcGVkRGlzcGF0Y2gsICdtYXBEaXNwYXRjaFRvUHJvcHMnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwcGVkRGlzcGF0Y2g7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQgPSBmdW5jdGlvbiB1cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQoKSB7XG4gICAgICAgIHZhciBuZXh0U3RhdGVQcm9wcyA9IHRoaXMuY29tcHV0ZVN0YXRlUHJvcHModGhpcy5zdG9yZSwgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlUHJvcHMgJiYgKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dFN0YXRlUHJvcHMsIHRoaXMuc3RhdGVQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXRlUHJvcHMgPSBuZXh0U3RhdGVQcm9wcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVEaXNwYXRjaFByb3BzSWZOZWVkZWQgPSBmdW5jdGlvbiB1cGRhdGVEaXNwYXRjaFByb3BzSWZOZWVkZWQoKSB7XG4gICAgICAgIHZhciBuZXh0RGlzcGF0Y2hQcm9wcyA9IHRoaXMuY29tcHV0ZURpc3BhdGNoUHJvcHModGhpcy5zdG9yZSwgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLmRpc3BhdGNoUHJvcHMgJiYgKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dERpc3BhdGNoUHJvcHMsIHRoaXMuZGlzcGF0Y2hQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoUHJvcHMgPSBuZXh0RGlzcGF0Y2hQcm9wcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVNZXJnZWRQcm9wc0lmTmVlZGVkID0gZnVuY3Rpb24gdXBkYXRlTWVyZ2VkUHJvcHNJZk5lZWRlZCgpIHtcbiAgICAgICAgdmFyIG5leHRNZXJnZWRQcm9wcyA9IGNvbXB1dGVNZXJnZWRQcm9wcyh0aGlzLnN0YXRlUHJvcHMsIHRoaXMuZGlzcGF0Y2hQcm9wcywgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLm1lcmdlZFByb3BzICYmIGNoZWNrTWVyZ2VkRXF1YWxzICYmICgwLCBfc2hhbGxvd0VxdWFsMltcImRlZmF1bHRcIl0pKG5leHRNZXJnZWRQcm9wcywgdGhpcy5tZXJnZWRQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1lcmdlZFByb3BzID0gbmV4dE1lcmdlZFByb3BzO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmlzU3Vic2NyaWJlZCA9IGZ1bmN0aW9uIGlzU3Vic2NyaWJlZCgpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLnVuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUudHJ5U3Vic2NyaWJlID0gZnVuY3Rpb24gdHJ5U3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAoc2hvdWxkU3Vic2NyaWJlICYmICF0aGlzLnVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQ2hhbmdlLmJpbmQodGhpcykpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnRyeVVuc3Vic2NyaWJlID0gZnVuY3Rpb24gdHJ5VW5zdWJzY3JpYmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICB0aGlzLnRyeVN1YnNjcmliZSgpO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgICAgIGlmICghcHVyZSB8fCAhKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dFByb3BzLCB0aGlzLnByb3BzKSkge1xuICAgICAgICAgIHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIHRoaXMudHJ5VW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jbGVhckNhY2hlKCk7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jbGVhckNhY2hlID0gZnVuY3Rpb24gY2xlYXJDYWNoZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaFByb3BzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzID0gbnVsbDtcbiAgICAgICAgdGhpcy5tZXJnZWRQcm9wcyA9IG51bGw7XG4gICAgICAgIHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuaGFzU3RvcmVTdGF0ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmhhdmVTdGF0ZVByb3BzQmVlblByZWNhbGN1bGF0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzUHJlY2FsY3VsYXRpb25FcnJvciA9IG51bGw7XG4gICAgICAgIHRoaXMucmVuZGVyZWRFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyA9IG51bGw7XG4gICAgICAgIHRoaXMuZmluYWxNYXBTdGF0ZVRvUHJvcHMgPSBudWxsO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuaGFuZGxlQ2hhbmdlID0gZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKCkge1xuICAgICAgICBpZiAoIXRoaXMudW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc3RvcmVTdGF0ZSA9IHRoaXMuc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICAgICAgdmFyIHByZXZTdG9yZVN0YXRlID0gdGhpcy5zdGF0ZS5zdG9yZVN0YXRlO1xuICAgICAgICBpZiAocHVyZSAmJiBwcmV2U3RvcmVTdGF0ZSA9PT0gc3RvcmVTdGF0ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwdXJlICYmICF0aGlzLmRvU3RhdGVQcm9wc0RlcGVuZE9uT3duUHJvcHMpIHtcbiAgICAgICAgICB2YXIgaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkID0gdHJ5Q2F0Y2godGhpcy51cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQsIHRoaXMpO1xuICAgICAgICAgIGlmICghaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYXZlU3RhdGVQcm9wc0NoYW5nZWQgPT09IGVycm9yT2JqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yID0gZXJyb3JPYmplY3QudmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaGF2ZVN0YXRlUHJvcHNCZWVuUHJlY2FsY3VsYXRlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhc1N0b3JlU3RhdGVDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHN0b3JlU3RhdGU6IHN0b3JlU3RhdGUgfSk7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5nZXRXcmFwcGVkSW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRXcmFwcGVkSW5zdGFuY2UoKSB7XG4gICAgICAgICgwLCBfaW52YXJpYW50MltcImRlZmF1bHRcIl0pKHdpdGhSZWYsICdUbyBhY2Nlc3MgdGhlIHdyYXBwZWQgaW5zdGFuY2UsIHlvdSBuZWVkIHRvIHNwZWNpZnkgJyArICd7IHdpdGhSZWY6IHRydWUgfSBhcyB0aGUgZm91cnRoIGFyZ3VtZW50IG9mIHRoZSBjb25uZWN0KCkgY2FsbC4nKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yZWZzLndyYXBwZWRJbnN0YW5jZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgICAgdmFyIGhhdmVPd25Qcm9wc0NoYW5nZWQgPSB0aGlzLmhhdmVPd25Qcm9wc0NoYW5nZWQsXG4gICAgICAgICAgICBoYXNTdG9yZVN0YXRlQ2hhbmdlZCA9IHRoaXMuaGFzU3RvcmVTdGF0ZUNoYW5nZWQsXG4gICAgICAgICAgICBoYXZlU3RhdGVQcm9wc0JlZW5QcmVjYWxjdWxhdGVkID0gdGhpcy5oYXZlU3RhdGVQcm9wc0JlZW5QcmVjYWxjdWxhdGVkLFxuICAgICAgICAgICAgc3RhdGVQcm9wc1ByZWNhbGN1bGF0aW9uRXJyb3IgPSB0aGlzLnN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yLFxuICAgICAgICAgICAgcmVuZGVyZWRFbGVtZW50ID0gdGhpcy5yZW5kZXJlZEVsZW1lbnQ7XG5cblxuICAgICAgICB0aGlzLmhhdmVPd25Qcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oYXNTdG9yZVN0YXRlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhdmVTdGF0ZVByb3BzQmVlblByZWNhbGN1bGF0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzUHJlY2FsY3VsYXRpb25FcnJvciA9IG51bGw7XG5cbiAgICAgICAgaWYgKHN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgc3RhdGVQcm9wc1ByZWNhbGN1bGF0aW9uRXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2hvdWxkVXBkYXRlU3RhdGVQcm9wcyA9IHRydWU7XG4gICAgICAgIHZhciBzaG91bGRVcGRhdGVEaXNwYXRjaFByb3BzID0gdHJ1ZTtcbiAgICAgICAgaWYgKHB1cmUgJiYgcmVuZGVyZWRFbGVtZW50KSB7XG4gICAgICAgICAgc2hvdWxkVXBkYXRlU3RhdGVQcm9wcyA9IGhhc1N0b3JlU3RhdGVDaGFuZ2VkIHx8IGhhdmVPd25Qcm9wc0NoYW5nZWQgJiYgdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzO1xuICAgICAgICAgIHNob3VsZFVwZGF0ZURpc3BhdGNoUHJvcHMgPSBoYXZlT3duUHJvcHNDaGFuZ2VkICYmIHRoaXMuZG9EaXNwYXRjaFByb3BzRGVwZW5kT25Pd25Qcm9wcztcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBoYXZlU3RhdGVQcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdmFyIGhhdmVEaXNwYXRjaFByb3BzQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaGF2ZVN0YXRlUHJvcHNCZWVuUHJlY2FsY3VsYXRlZCkge1xuICAgICAgICAgIGhhdmVTdGF0ZVByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hvdWxkVXBkYXRlU3RhdGVQcm9wcykge1xuICAgICAgICAgIGhhdmVTdGF0ZVByb3BzQ2hhbmdlZCA9IHRoaXMudXBkYXRlU3RhdGVQcm9wc0lmTmVlZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZURpc3BhdGNoUHJvcHMpIHtcbiAgICAgICAgICBoYXZlRGlzcGF0Y2hQcm9wc0NoYW5nZWQgPSB0aGlzLnVwZGF0ZURpc3BhdGNoUHJvcHNJZk5lZWRlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGhhdmVNZXJnZWRQcm9wc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgICBpZiAoaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkIHx8IGhhdmVEaXNwYXRjaFByb3BzQ2hhbmdlZCB8fCBoYXZlT3duUHJvcHNDaGFuZ2VkKSB7XG4gICAgICAgICAgaGF2ZU1lcmdlZFByb3BzQ2hhbmdlZCA9IHRoaXMudXBkYXRlTWVyZ2VkUHJvcHNJZk5lZWRlZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhdmVNZXJnZWRQcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGF2ZU1lcmdlZFByb3BzQ2hhbmdlZCAmJiByZW5kZXJlZEVsZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gcmVuZGVyZWRFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdpdGhSZWYpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVkRWxlbWVudCA9ICgwLCBfcmVhY3QuY3JlYXRlRWxlbWVudCkoV3JhcHBlZENvbXBvbmVudCwgX2V4dGVuZHMoe30sIHRoaXMubWVyZ2VkUHJvcHMsIHtcbiAgICAgICAgICAgIHJlZjogJ3dyYXBwZWRJbnN0YW5jZSdcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlZEVsZW1lbnQgPSAoMCwgX3JlYWN0LmNyZWF0ZUVsZW1lbnQpKFdyYXBwZWRDb21wb25lbnQsIHRoaXMubWVyZ2VkUHJvcHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZWRFbGVtZW50O1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIENvbm5lY3Q7XG4gICAgfShfcmVhY3QuQ29tcG9uZW50KTtcblxuICAgIENvbm5lY3QuZGlzcGxheU5hbWUgPSBjb25uZWN0RGlzcGxheU5hbWU7XG4gICAgQ29ubmVjdC5XcmFwcGVkQ29tcG9uZW50ID0gV3JhcHBlZENvbXBvbmVudDtcbiAgICBDb25uZWN0LmNvbnRleHRUeXBlcyA9IHtcbiAgICAgIHN0b3JlOiBfc3RvcmVTaGFwZTJbXCJkZWZhdWx0XCJdXG4gICAgfTtcbiAgICBDb25uZWN0LnByb3BUeXBlcyA9IHtcbiAgICAgIHN0b3JlOiBfc3RvcmVTaGFwZTJbXCJkZWZhdWx0XCJdXG4gICAgfTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jb21wb25lbnRXaWxsVXBkYXRlID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVwZGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudmVyc2lvbiA9PT0gdmVyc2lvbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIGFyZSBob3QgcmVsb2FkaW5nIVxuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICB0aGlzLnRyeVN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNsZWFyQ2FjaGUoKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuICgwLCBfaG9pc3ROb25SZWFjdFN0YXRpY3MyW1wiZGVmYXVsdFwiXSkoQ29ubmVjdCwgV3JhcHBlZENvbXBvbmVudCk7XG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-redux/lib/components/connect.js\n"); +eval("\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports[\"default\"] = connect;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _storeShape = __webpack_require__(/*! ../utils/storeShape */ \"./node_modules/react-redux/lib/utils/storeShape.js\");\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = __webpack_require__(/*! ../utils/shallowEqual */ \"./node_modules/react-redux/lib/utils/shallowEqual.js\");\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = __webpack_require__(/*! ../utils/wrapActionCreators */ \"./node_modules/react-redux/lib/utils/wrapActionCreators.js\");\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = __webpack_require__(/*! ../utils/warning */ \"./node_modules/react-redux/lib/utils/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = __webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\");\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = __webpack_require__(/*! invariant */ \"./node_modules/invariant/browser.js\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n};\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = { value: null };\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n}\n\n// Helps track hot reloading.\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n\n var mapDispatch = void 0;\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure,\n pure = _options$pure === undefined ? true : _options$pure,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\n // Helps track hot reloading.\n var version = nextVersion++;\n\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n if (true) {\n checkStateShape(mergedProps, 'mergeProps');\n }\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a , ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n _this.state = { storeState: storeState };\n _this.clearCache();\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (true) {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (true) {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (true) {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (true) {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n if (!haveStatePropsChanged) {\n return;\n }\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({ storeState: storeState });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged,\n hasStoreStateChanged = this.hasStoreStateChanged,\n haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated,\n statePropsPrecalculationError = this.statePropsPrecalculationError,\n renderedElement = this.renderedElement;\n\n\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (true) {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n }\n\n // We are hot reloading!\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlZHV4L2xpYi9jb21wb25lbnRzL2Nvbm5lY3QuanM/NTViYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQSxtREFBbUQsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELDJCQUEyQixFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUU5UDs7QUFFQSxhQUFhLG1CQUFPLENBQUMsb0JBQU87O0FBRTVCLGtCQUFrQixtQkFBTyxDQUFDLCtFQUFxQjs7QUFFL0M7O0FBRUEsb0JBQW9CLG1CQUFPLENBQUMsbUZBQXVCOztBQUVuRDs7QUFFQSwwQkFBMEIsbUJBQU8sQ0FBQywrRkFBNkI7O0FBRS9EOztBQUVBLGVBQWUsbUJBQU8sQ0FBQyx5RUFBa0I7O0FBRXpDOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLG9FQUFzQjs7QUFFbkQ7O0FBRUEsNEJBQTRCLG1CQUFPLENBQUMsMkdBQXlCOztBQUU3RDs7QUFFQSxpQkFBaUIsbUJBQU8sQ0FBQyxzREFBVzs7QUFFcEM7O0FBRUEsc0NBQXNDLHVDQUF1QyxrQkFBa0I7O0FBRS9GLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLGlEQUFpRCxhQUFhLHVGQUF1RixFQUFFLHVGQUF1Rjs7QUFFOU8sMENBQTBDLCtEQUErRCxxR0FBcUcsRUFBRSx5RUFBeUUsZUFBZSx5RUFBeUUsRUFBRSxFQUFFLHVIQUF1SDs7QUFFNWU7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVUsSUFBcUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1Qix5QkFBeUI7QUFDaEQ7O0FBRUE7QUFDQSx3R0FBd0csZ0JBQWdCOztBQUV4SDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdGQUF3RjtBQUN4RjtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9yZWFjdC1yZWR1eC9saWIvY29tcG9uZW50cy9jb25uZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IGNvbm5lY3Q7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgX3N0b3JlU2hhcGUgPSByZXF1aXJlKCcuLi91dGlscy9zdG9yZVNoYXBlJyk7XG5cbnZhciBfc3RvcmVTaGFwZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdG9yZVNoYXBlKTtcblxudmFyIF9zaGFsbG93RXF1YWwgPSByZXF1aXJlKCcuLi91dGlscy9zaGFsbG93RXF1YWwnKTtcblxudmFyIF9zaGFsbG93RXF1YWwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2hhbGxvd0VxdWFsKTtcblxudmFyIF93cmFwQWN0aW9uQ3JlYXRvcnMgPSByZXF1aXJlKCcuLi91dGlscy93cmFwQWN0aW9uQ3JlYXRvcnMnKTtcblxudmFyIF93cmFwQWN0aW9uQ3JlYXRvcnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfd3JhcEFjdGlvbkNyZWF0b3JzKTtcblxudmFyIF93YXJuaW5nID0gcmVxdWlyZSgnLi4vdXRpbHMvd2FybmluZycpO1xuXG52YXIgX3dhcm5pbmcyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfd2FybmluZyk7XG5cbnZhciBfaXNQbGFpbk9iamVjdCA9IHJlcXVpcmUoJ2xvZGFzaC9pc1BsYWluT2JqZWN0Jyk7XG5cbnZhciBfaXNQbGFpbk9iamVjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pc1BsYWluT2JqZWN0KTtcblxudmFyIF9ob2lzdE5vblJlYWN0U3RhdGljcyA9IHJlcXVpcmUoJ2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzJyk7XG5cbnZhciBfaG9pc3ROb25SZWFjdFN0YXRpY3MyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaG9pc3ROb25SZWFjdFN0YXRpY3MpO1xuXG52YXIgX2ludmFyaWFudCA9IHJlcXVpcmUoJ2ludmFyaWFudCcpO1xuXG52YXIgX2ludmFyaWFudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pbnZhcmlhbnQpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgZGVmYXVsdE1hcFN0YXRlVG9Qcm9wcyA9IGZ1bmN0aW9uIGRlZmF1bHRNYXBTdGF0ZVRvUHJvcHMoc3RhdGUpIHtcbiAgcmV0dXJuIHt9O1xufTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xudmFyIGRlZmF1bHRNYXBEaXNwYXRjaFRvUHJvcHMgPSBmdW5jdGlvbiBkZWZhdWx0TWFwRGlzcGF0Y2hUb1Byb3BzKGRpc3BhdGNoKSB7XG4gIHJldHVybiB7IGRpc3BhdGNoOiBkaXNwYXRjaCB9O1xufTtcbnZhciBkZWZhdWx0TWVyZ2VQcm9wcyA9IGZ1bmN0aW9uIGRlZmF1bHRNZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIHBhcmVudFByb3BzKSB7XG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgcGFyZW50UHJvcHMsIHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMpO1xufTtcblxuZnVuY3Rpb24gZ2V0RGlzcGxheU5hbWUoV3JhcHBlZENvbXBvbmVudCkge1xuICByZXR1cm4gV3JhcHBlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVkQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCc7XG59XG5cbnZhciBlcnJvck9iamVjdCA9IHsgdmFsdWU6IG51bGwgfTtcbmZ1bmN0aW9uIHRyeUNhdGNoKGZuLCBjdHgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4uYXBwbHkoY3R4KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGVycm9yT2JqZWN0LnZhbHVlID0gZTtcbiAgICByZXR1cm4gZXJyb3JPYmplY3Q7XG4gIH1cbn1cblxuLy8gSGVscHMgdHJhY2sgaG90IHJlbG9hZGluZy5cbnZhciBuZXh0VmVyc2lvbiA9IDA7XG5cbmZ1bmN0aW9uIGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMsIG1lcmdlUHJvcHMpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gIHZhciBzaG91bGRTdWJzY3JpYmUgPSBCb29sZWFuKG1hcFN0YXRlVG9Qcm9wcyk7XG4gIHZhciBtYXBTdGF0ZSA9IG1hcFN0YXRlVG9Qcm9wcyB8fCBkZWZhdWx0TWFwU3RhdGVUb1Byb3BzO1xuXG4gIHZhciBtYXBEaXNwYXRjaCA9IHZvaWQgMDtcbiAgaWYgKHR5cGVvZiBtYXBEaXNwYXRjaFRvUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBtYXBEaXNwYXRjaCA9IG1hcERpc3BhdGNoVG9Qcm9wcztcbiAgfSBlbHNlIGlmICghbWFwRGlzcGF0Y2hUb1Byb3BzKSB7XG4gICAgbWFwRGlzcGF0Y2ggPSBkZWZhdWx0TWFwRGlzcGF0Y2hUb1Byb3BzO1xuICB9IGVsc2Uge1xuICAgIG1hcERpc3BhdGNoID0gKDAsIF93cmFwQWN0aW9uQ3JlYXRvcnMyW1wiZGVmYXVsdFwiXSkobWFwRGlzcGF0Y2hUb1Byb3BzKTtcbiAgfVxuXG4gIHZhciBmaW5hbE1lcmdlUHJvcHMgPSBtZXJnZVByb3BzIHx8IGRlZmF1bHRNZXJnZVByb3BzO1xuICB2YXIgX29wdGlvbnMkcHVyZSA9IG9wdGlvbnMucHVyZSxcbiAgICAgIHB1cmUgPSBfb3B0aW9ucyRwdXJlID09PSB1bmRlZmluZWQgPyB0cnVlIDogX29wdGlvbnMkcHVyZSxcbiAgICAgIF9vcHRpb25zJHdpdGhSZWYgPSBvcHRpb25zLndpdGhSZWYsXG4gICAgICB3aXRoUmVmID0gX29wdGlvbnMkd2l0aFJlZiA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBfb3B0aW9ucyR3aXRoUmVmO1xuXG4gIHZhciBjaGVja01lcmdlZEVxdWFscyA9IHB1cmUgJiYgZmluYWxNZXJnZVByb3BzICE9PSBkZWZhdWx0TWVyZ2VQcm9wcztcblxuICAvLyBIZWxwcyB0cmFjayBob3QgcmVsb2FkaW5nLlxuICB2YXIgdmVyc2lvbiA9IG5leHRWZXJzaW9uKys7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHdyYXBXaXRoQ29ubmVjdChXcmFwcGVkQ29tcG9uZW50KSB7XG4gICAgdmFyIGNvbm5lY3REaXNwbGF5TmFtZSA9ICdDb25uZWN0KCcgKyBnZXREaXNwbGF5TmFtZShXcmFwcGVkQ29tcG9uZW50KSArICcpJztcblxuICAgIGZ1bmN0aW9uIGNoZWNrU3RhdGVTaGFwZShwcm9wcywgbWV0aG9kTmFtZSkge1xuICAgICAgaWYgKCEoMCwgX2lzUGxhaW5PYmplY3QyW1wiZGVmYXVsdFwiXSkocHJvcHMpKSB7XG4gICAgICAgICgwLCBfd2FybmluZzJbXCJkZWZhdWx0XCJdKShtZXRob2ROYW1lICsgJygpIGluICcgKyBjb25uZWN0RGlzcGxheU5hbWUgKyAnIG11c3QgcmV0dXJuIGEgcGxhaW4gb2JqZWN0LiAnICsgKCdJbnN0ZWFkIHJlY2VpdmVkICcgKyBwcm9wcyArICcuJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNvbXB1dGVNZXJnZWRQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBwYXJlbnRQcm9wcykge1xuICAgICAgdmFyIG1lcmdlZFByb3BzID0gZmluYWxNZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIHBhcmVudFByb3BzKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGNoZWNrU3RhdGVTaGFwZShtZXJnZWRQcm9wcywgJ21lcmdlUHJvcHMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtZXJnZWRQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgQ29ubmVjdCA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgICBfaW5oZXJpdHMoQ29ubmVjdCwgX0NvbXBvbmVudCk7XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuICFwdXJlIHx8IHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCB8fCB0aGlzLmhhc1N0b3JlU3RhdGVDaGFuZ2VkO1xuICAgICAgfTtcblxuICAgICAgZnVuY3Rpb24gQ29ubmVjdChwcm9wcywgY29udGV4dCkge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29ubmVjdCk7XG5cbiAgICAgICAgdmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX0NvbXBvbmVudC5jYWxsKHRoaXMsIHByb3BzLCBjb250ZXh0KSk7XG5cbiAgICAgICAgX3RoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgICAgIF90aGlzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwgY29udGV4dC5zdG9yZTtcblxuICAgICAgICAoMCwgX2ludmFyaWFudDJbXCJkZWZhdWx0XCJdKShfdGhpcy5zdG9yZSwgJ0NvdWxkIG5vdCBmaW5kIFwic3RvcmVcIiBpbiBlaXRoZXIgdGhlIGNvbnRleHQgb3IgJyArICgncHJvcHMgb2YgXCInICsgY29ubmVjdERpc3BsYXlOYW1lICsgJ1wiLiAnKSArICdFaXRoZXIgd3JhcCB0aGUgcm9vdCBjb21wb25lbnQgaW4gYSA8UHJvdmlkZXI+LCAnICsgKCdvciBleHBsaWNpdGx5IHBhc3MgXCJzdG9yZVwiIGFzIGEgcHJvcCB0byBcIicgKyBjb25uZWN0RGlzcGxheU5hbWUgKyAnXCIuJykpO1xuXG4gICAgICAgIHZhciBzdG9yZVN0YXRlID0gX3RoaXMuc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICAgICAgX3RoaXMuc3RhdGUgPSB7IHN0b3JlU3RhdGU6IHN0b3JlU3RhdGUgfTtcbiAgICAgICAgX3RoaXMuY2xlYXJDYWNoZSgpO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgICB9XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXB1dGVTdGF0ZVByb3BzID0gZnVuY3Rpb24gY29tcHV0ZVN0YXRlUHJvcHMoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIGlmICghdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZUZpbmFsTWFwU3RhdGUoc3RvcmUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzdGF0ZSA9IHN0b3JlLmdldFN0YXRlKCk7XG4gICAgICAgIHZhciBzdGF0ZVByb3BzID0gdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzID8gdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSwgcHJvcHMpIDogdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUoc3RhdGVQcm9wcywgJ21hcFN0YXRlVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0ZVByb3BzO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29uZmlndXJlRmluYWxNYXBTdGF0ZSA9IGZ1bmN0aW9uIGNvbmZpZ3VyZUZpbmFsTWFwU3RhdGUoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIHZhciBtYXBwZWRTdGF0ZSA9IG1hcFN0YXRlKHN0b3JlLmdldFN0YXRlKCksIHByb3BzKTtcbiAgICAgICAgdmFyIGlzRmFjdG9yeSA9IHR5cGVvZiBtYXBwZWRTdGF0ZSA9PT0gJ2Z1bmN0aW9uJztcblxuICAgICAgICB0aGlzLmZpbmFsTWFwU3RhdGVUb1Byb3BzID0gaXNGYWN0b3J5ID8gbWFwcGVkU3RhdGUgOiBtYXBTdGF0ZTtcbiAgICAgICAgdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzID0gdGhpcy5maW5hbE1hcFN0YXRlVG9Qcm9wcy5sZW5ndGggIT09IDE7XG5cbiAgICAgICAgaWYgKGlzRmFjdG9yeSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVTdGF0ZVByb3BzKHN0b3JlLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNoZWNrU3RhdGVTaGFwZShtYXBwZWRTdGF0ZSwgJ21hcFN0YXRlVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXBwZWRTdGF0ZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXB1dGVEaXNwYXRjaFByb3BzID0gZnVuY3Rpb24gY29tcHV0ZURpc3BhdGNoUHJvcHMoc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIGlmICghdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZUZpbmFsTWFwRGlzcGF0Y2goc3RvcmUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaXNwYXRjaCA9IHN0b3JlLmRpc3BhdGNoO1xuXG4gICAgICAgIHZhciBkaXNwYXRjaFByb3BzID0gdGhpcy5kb0Rpc3BhdGNoUHJvcHNEZXBlbmRPbk93blByb3BzID8gdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCwgcHJvcHMpIDogdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUoZGlzcGF0Y2hQcm9wcywgJ21hcERpc3BhdGNoVG9Qcm9wcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwYXRjaFByb3BzO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29uZmlndXJlRmluYWxNYXBEaXNwYXRjaCA9IGZ1bmN0aW9uIGNvbmZpZ3VyZUZpbmFsTWFwRGlzcGF0Y2goc3RvcmUsIHByb3BzKSB7XG4gICAgICAgIHZhciBtYXBwZWREaXNwYXRjaCA9IG1hcERpc3BhdGNoKHN0b3JlLmRpc3BhdGNoLCBwcm9wcyk7XG4gICAgICAgIHZhciBpc0ZhY3RvcnkgPSB0eXBlb2YgbWFwcGVkRGlzcGF0Y2ggPT09ICdmdW5jdGlvbic7XG5cbiAgICAgICAgdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyA9IGlzRmFjdG9yeSA/IG1hcHBlZERpc3BhdGNoIDogbWFwRGlzcGF0Y2g7XG4gICAgICAgIHRoaXMuZG9EaXNwYXRjaFByb3BzRGVwZW5kT25Pd25Qcm9wcyA9IHRoaXMuZmluYWxNYXBEaXNwYXRjaFRvUHJvcHMubGVuZ3RoICE9PSAxO1xuXG4gICAgICAgIGlmIChpc0ZhY3RvcnkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlRGlzcGF0Y2hQcm9wcyhzdG9yZSwgcHJvcHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1N0YXRlU2hhcGUobWFwcGVkRGlzcGF0Y2gsICdtYXBEaXNwYXRjaFRvUHJvcHMnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwcGVkRGlzcGF0Y2g7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQgPSBmdW5jdGlvbiB1cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQoKSB7XG4gICAgICAgIHZhciBuZXh0U3RhdGVQcm9wcyA9IHRoaXMuY29tcHV0ZVN0YXRlUHJvcHModGhpcy5zdG9yZSwgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlUHJvcHMgJiYgKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dFN0YXRlUHJvcHMsIHRoaXMuc3RhdGVQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXRlUHJvcHMgPSBuZXh0U3RhdGVQcm9wcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVEaXNwYXRjaFByb3BzSWZOZWVkZWQgPSBmdW5jdGlvbiB1cGRhdGVEaXNwYXRjaFByb3BzSWZOZWVkZWQoKSB7XG4gICAgICAgIHZhciBuZXh0RGlzcGF0Y2hQcm9wcyA9IHRoaXMuY29tcHV0ZURpc3BhdGNoUHJvcHModGhpcy5zdG9yZSwgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLmRpc3BhdGNoUHJvcHMgJiYgKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dERpc3BhdGNoUHJvcHMsIHRoaXMuZGlzcGF0Y2hQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoUHJvcHMgPSBuZXh0RGlzcGF0Y2hQcm9wcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS51cGRhdGVNZXJnZWRQcm9wc0lmTmVlZGVkID0gZnVuY3Rpb24gdXBkYXRlTWVyZ2VkUHJvcHNJZk5lZWRlZCgpIHtcbiAgICAgICAgdmFyIG5leHRNZXJnZWRQcm9wcyA9IGNvbXB1dGVNZXJnZWRQcm9wcyh0aGlzLnN0YXRlUHJvcHMsIHRoaXMuZGlzcGF0Y2hQcm9wcywgdGhpcy5wcm9wcyk7XG4gICAgICAgIGlmICh0aGlzLm1lcmdlZFByb3BzICYmIGNoZWNrTWVyZ2VkRXF1YWxzICYmICgwLCBfc2hhbGxvd0VxdWFsMltcImRlZmF1bHRcIl0pKG5leHRNZXJnZWRQcm9wcywgdGhpcy5tZXJnZWRQcm9wcykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1lcmdlZFByb3BzID0gbmV4dE1lcmdlZFByb3BzO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmlzU3Vic2NyaWJlZCA9IGZ1bmN0aW9uIGlzU3Vic2NyaWJlZCgpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLnVuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUudHJ5U3Vic2NyaWJlID0gZnVuY3Rpb24gdHJ5U3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAoc2hvdWxkU3Vic2NyaWJlICYmICF0aGlzLnVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQ2hhbmdlLmJpbmQodGhpcykpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnRyeVVuc3Vic2NyaWJlID0gZnVuY3Rpb24gdHJ5VW5zdWJzY3JpYmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICB0aGlzLnRyeVN1YnNjcmliZSgpO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgICAgIGlmICghcHVyZSB8fCAhKDAsIF9zaGFsbG93RXF1YWwyW1wiZGVmYXVsdFwiXSkobmV4dFByb3BzLCB0aGlzLnByb3BzKSkge1xuICAgICAgICAgIHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIHRoaXMudHJ5VW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jbGVhckNhY2hlKCk7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jbGVhckNhY2hlID0gZnVuY3Rpb24gY2xlYXJDYWNoZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaFByb3BzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzID0gbnVsbDtcbiAgICAgICAgdGhpcy5tZXJnZWRQcm9wcyA9IG51bGw7XG4gICAgICAgIHRoaXMuaGF2ZU93blByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuaGFzU3RvcmVTdGF0ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmhhdmVTdGF0ZVByb3BzQmVlblByZWNhbGN1bGF0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzUHJlY2FsY3VsYXRpb25FcnJvciA9IG51bGw7XG4gICAgICAgIHRoaXMucmVuZGVyZWRFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy5maW5hbE1hcERpc3BhdGNoVG9Qcm9wcyA9IG51bGw7XG4gICAgICAgIHRoaXMuZmluYWxNYXBTdGF0ZVRvUHJvcHMgPSBudWxsO1xuICAgICAgfTtcblxuICAgICAgQ29ubmVjdC5wcm90b3R5cGUuaGFuZGxlQ2hhbmdlID0gZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKCkge1xuICAgICAgICBpZiAoIXRoaXMudW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc3RvcmVTdGF0ZSA9IHRoaXMuc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICAgICAgdmFyIHByZXZTdG9yZVN0YXRlID0gdGhpcy5zdGF0ZS5zdG9yZVN0YXRlO1xuICAgICAgICBpZiAocHVyZSAmJiBwcmV2U3RvcmVTdGF0ZSA9PT0gc3RvcmVTdGF0ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwdXJlICYmICF0aGlzLmRvU3RhdGVQcm9wc0RlcGVuZE9uT3duUHJvcHMpIHtcbiAgICAgICAgICB2YXIgaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkID0gdHJ5Q2F0Y2godGhpcy51cGRhdGVTdGF0ZVByb3BzSWZOZWVkZWQsIHRoaXMpO1xuICAgICAgICAgIGlmICghaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYXZlU3RhdGVQcm9wc0NoYW5nZWQgPT09IGVycm9yT2JqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yID0gZXJyb3JPYmplY3QudmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaGF2ZVN0YXRlUHJvcHNCZWVuUHJlY2FsY3VsYXRlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhc1N0b3JlU3RhdGVDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHN0b3JlU3RhdGU6IHN0b3JlU3RhdGUgfSk7XG4gICAgICB9O1xuXG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5nZXRXcmFwcGVkSW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRXcmFwcGVkSW5zdGFuY2UoKSB7XG4gICAgICAgICgwLCBfaW52YXJpYW50MltcImRlZmF1bHRcIl0pKHdpdGhSZWYsICdUbyBhY2Nlc3MgdGhlIHdyYXBwZWQgaW5zdGFuY2UsIHlvdSBuZWVkIHRvIHNwZWNpZnkgJyArICd7IHdpdGhSZWY6IHRydWUgfSBhcyB0aGUgZm91cnRoIGFyZ3VtZW50IG9mIHRoZSBjb25uZWN0KCkgY2FsbC4nKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yZWZzLndyYXBwZWRJbnN0YW5jZTtcbiAgICAgIH07XG5cbiAgICAgIENvbm5lY3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgICAgdmFyIGhhdmVPd25Qcm9wc0NoYW5nZWQgPSB0aGlzLmhhdmVPd25Qcm9wc0NoYW5nZWQsXG4gICAgICAgICAgICBoYXNTdG9yZVN0YXRlQ2hhbmdlZCA9IHRoaXMuaGFzU3RvcmVTdGF0ZUNoYW5nZWQsXG4gICAgICAgICAgICBoYXZlU3RhdGVQcm9wc0JlZW5QcmVjYWxjdWxhdGVkID0gdGhpcy5oYXZlU3RhdGVQcm9wc0JlZW5QcmVjYWxjdWxhdGVkLFxuICAgICAgICAgICAgc3RhdGVQcm9wc1ByZWNhbGN1bGF0aW9uRXJyb3IgPSB0aGlzLnN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yLFxuICAgICAgICAgICAgcmVuZGVyZWRFbGVtZW50ID0gdGhpcy5yZW5kZXJlZEVsZW1lbnQ7XG5cblxuICAgICAgICB0aGlzLmhhdmVPd25Qcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oYXNTdG9yZVN0YXRlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhdmVTdGF0ZVByb3BzQmVlblByZWNhbGN1bGF0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGF0ZVByb3BzUHJlY2FsY3VsYXRpb25FcnJvciA9IG51bGw7XG5cbiAgICAgICAgaWYgKHN0YXRlUHJvcHNQcmVjYWxjdWxhdGlvbkVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgc3RhdGVQcm9wc1ByZWNhbGN1bGF0aW9uRXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2hvdWxkVXBkYXRlU3RhdGVQcm9wcyA9IHRydWU7XG4gICAgICAgIHZhciBzaG91bGRVcGRhdGVEaXNwYXRjaFByb3BzID0gdHJ1ZTtcbiAgICAgICAgaWYgKHB1cmUgJiYgcmVuZGVyZWRFbGVtZW50KSB7XG4gICAgICAgICAgc2hvdWxkVXBkYXRlU3RhdGVQcm9wcyA9IGhhc1N0b3JlU3RhdGVDaGFuZ2VkIHx8IGhhdmVPd25Qcm9wc0NoYW5nZWQgJiYgdGhpcy5kb1N0YXRlUHJvcHNEZXBlbmRPbk93blByb3BzO1xuICAgICAgICAgIHNob3VsZFVwZGF0ZURpc3BhdGNoUHJvcHMgPSBoYXZlT3duUHJvcHNDaGFuZ2VkICYmIHRoaXMuZG9EaXNwYXRjaFByb3BzRGVwZW5kT25Pd25Qcm9wcztcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBoYXZlU3RhdGVQcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdmFyIGhhdmVEaXNwYXRjaFByb3BzQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaGF2ZVN0YXRlUHJvcHNCZWVuUHJlY2FsY3VsYXRlZCkge1xuICAgICAgICAgIGhhdmVTdGF0ZVByb3BzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hvdWxkVXBkYXRlU3RhdGVQcm9wcykge1xuICAgICAgICAgIGhhdmVTdGF0ZVByb3BzQ2hhbmdlZCA9IHRoaXMudXBkYXRlU3RhdGVQcm9wc0lmTmVlZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZURpc3BhdGNoUHJvcHMpIHtcbiAgICAgICAgICBoYXZlRGlzcGF0Y2hQcm9wc0NoYW5nZWQgPSB0aGlzLnVwZGF0ZURpc3BhdGNoUHJvcHNJZk5lZWRlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGhhdmVNZXJnZWRQcm9wc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgICBpZiAoaGF2ZVN0YXRlUHJvcHNDaGFuZ2VkIHx8IGhhdmVEaXNwYXRjaFByb3BzQ2hhbmdlZCB8fCBoYXZlT3duUHJvcHNDaGFuZ2VkKSB7XG4gICAgICAgICAgaGF2ZU1lcmdlZFByb3BzQ2hhbmdlZCA9IHRoaXMudXBkYXRlTWVyZ2VkUHJvcHNJZk5lZWRlZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhdmVNZXJnZWRQcm9wc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGF2ZU1lcmdlZFByb3BzQ2hhbmdlZCAmJiByZW5kZXJlZEVsZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gcmVuZGVyZWRFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdpdGhSZWYpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVkRWxlbWVudCA9ICgwLCBfcmVhY3QuY3JlYXRlRWxlbWVudCkoV3JhcHBlZENvbXBvbmVudCwgX2V4dGVuZHMoe30sIHRoaXMubWVyZ2VkUHJvcHMsIHtcbiAgICAgICAgICAgIHJlZjogJ3dyYXBwZWRJbnN0YW5jZSdcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlZEVsZW1lbnQgPSAoMCwgX3JlYWN0LmNyZWF0ZUVsZW1lbnQpKFdyYXBwZWRDb21wb25lbnQsIHRoaXMubWVyZ2VkUHJvcHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZWRFbGVtZW50O1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIENvbm5lY3Q7XG4gICAgfShfcmVhY3QuQ29tcG9uZW50KTtcblxuICAgIENvbm5lY3QuZGlzcGxheU5hbWUgPSBjb25uZWN0RGlzcGxheU5hbWU7XG4gICAgQ29ubmVjdC5XcmFwcGVkQ29tcG9uZW50ID0gV3JhcHBlZENvbXBvbmVudDtcbiAgICBDb25uZWN0LmNvbnRleHRUeXBlcyA9IHtcbiAgICAgIHN0b3JlOiBfc3RvcmVTaGFwZTJbXCJkZWZhdWx0XCJdXG4gICAgfTtcbiAgICBDb25uZWN0LnByb3BUeXBlcyA9IHtcbiAgICAgIHN0b3JlOiBfc3RvcmVTaGFwZTJbXCJkZWZhdWx0XCJdXG4gICAgfTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBDb25uZWN0LnByb3RvdHlwZS5jb21wb25lbnRXaWxsVXBkYXRlID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVwZGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudmVyc2lvbiA9PT0gdmVyc2lvbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIGFyZSBob3QgcmVsb2FkaW5nIVxuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICB0aGlzLnRyeVN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNsZWFyQ2FjaGUoKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuICgwLCBfaG9pc3ROb25SZWFjdFN0YXRpY3MyW1wiZGVmYXVsdFwiXSkoQ29ubmVjdCwgV3JhcHBlZENvbXBvbmVudCk7XG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-redux/lib/components/connect.js\n"); /***/ }), @@ -5014,15 +4978,15 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ }), -/***/ "./node_modules/redux-thunk/lib/index.js": -/*!***********************************************!*\ - !*** ./node_modules/redux-thunk/lib/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/***/ "./node_modules/redux-thunk/es/index.js": +/*!**********************************************!*\ + !*** ./node_modules/redux-thunk/es/index.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("\n\nexports.__esModule = true;\nfunction createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexports['default'] = thunk;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JlZHV4LXRodW5rL2xpYi9pbmRleC5qcz80ZGQzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9yZWR1eC10aHVuay9saWIvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5mdW5jdGlvbiBjcmVhdGVUaHVua01pZGRsZXdhcmUoZXh0cmFBcmd1bWVudCkge1xuICByZXR1cm4gZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgZGlzcGF0Y2ggPSBfcmVmLmRpc3BhdGNoLFxuICAgICAgICBnZXRTdGF0ZSA9IF9yZWYuZ2V0U3RhdGU7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChuZXh0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGFjdGlvbikge1xuICAgICAgICBpZiAodHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBhY3Rpb24oZGlzcGF0Y2gsIGdldFN0YXRlLCBleHRyYUFyZ3VtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG5cbnZhciB0aHVuayA9IGNyZWF0ZVRodW5rTWlkZGxld2FyZSgpO1xudGh1bmsud2l0aEV4dHJhQXJndW1lbnQgPSBjcmVhdGVUaHVua01pZGRsZXdhcmU7XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IHRodW5rOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/redux-thunk/lib/index.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\nfunction createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (thunk);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vbm9kZV9tb2R1bGVzL3JlZHV4LXRodW5rL2VzL2luZGV4LmpzP2IwODMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVlLG9FQUFLIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3JlZHV4LXRodW5rL2VzL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY3JlYXRlVGh1bmtNaWRkbGV3YXJlKGV4dHJhQXJndW1lbnQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIGRpc3BhdGNoID0gX3JlZi5kaXNwYXRjaCxcbiAgICAgICAgZ2V0U3RhdGUgPSBfcmVmLmdldFN0YXRlO1xuICAgIHJldHVybiBmdW5jdGlvbiAobmV4dCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChhY3Rpb24pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gYWN0aW9uKGRpc3BhdGNoLCBnZXRTdGF0ZSwgZXh0cmFBcmd1bWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG52YXIgdGh1bmsgPSBjcmVhdGVUaHVua01pZGRsZXdhcmUoKTtcbnRodW5rLndpdGhFeHRyYUFyZ3VtZW50ID0gY3JlYXRlVGh1bmtNaWRkbGV3YXJlO1xuXG5leHBvcnQgZGVmYXVsdCB0aHVuazsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/redux-thunk/es/index.js\n"); /***/ }), @@ -5164,7 +5128,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL2FtZC1kZWZpbmUuanM/ZGE4YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2FtZC1kZWZpbmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuXHR0aHJvdyBuZXcgRXJyb3IoXCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3RcIik7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/amd-define.js\n"); +eval("module.exports = function() {\r\n\tthrow new Error(\"define cannot be used indirect\");\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL2FtZC1kZWZpbmUuanM/ZGE4YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2FtZC1kZWZpbmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xyXG5cdHRocm93IG5ldyBFcnJvcihcImRlZmluZSBjYW5ub3QgYmUgdXNlZCBpbmRpcmVjdFwiKTtcclxufTtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/amd-define.js\n"); /***/ }), @@ -5175,7 +5139,7 @@ eval("module.exports = function() {\n\tthrow new Error(\"define cannot be used i /*! no static exports found */ /***/ (function(module, exports) { -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcz9jZDAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCkgfHwgKDEsIGV2YWwpKFwidGhpc1wiKTtcbn0gY2F0Y2ggKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XG59XG5cbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XG5cbm1vZHVsZS5leHBvcnRzID0gZztcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n"); +eval("var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcz9jZDAwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGc7XHJcblxyXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxyXG5nID0gKGZ1bmN0aW9uKCkge1xyXG5cdHJldHVybiB0aGlzO1xyXG59KSgpO1xyXG5cclxudHJ5IHtcclxuXHQvLyBUaGlzIHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcclxuXHRnID0gZyB8fCBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCkgfHwgKDEsIGV2YWwpKFwidGhpc1wiKTtcclxufSBjYXRjaCAoZSkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3NcclxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n"); /***/ }), @@ -5186,7 +5150,7 @@ eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn th /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qcz9jZWQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0aWYgKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XG5cdFx0bW9kdWxlLmRlcHJlY2F0ZSA9IGZ1bmN0aW9uKCkge307XG5cdFx0bW9kdWxlLnBhdGhzID0gW107XG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XG5cdFx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xuXHR9XG5cdHJldHVybiBtb2R1bGU7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/module.js\n"); +eval("module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLyh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qcz9jZWQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcclxuXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcclxuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xyXG5cdFx0bW9kdWxlLnBhdGhzID0gW107XHJcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcclxuXHRcdGlmICghbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcclxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcclxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcclxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XHJcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXHJcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xyXG5cdH1cclxuXHRyZXR1cm4gbW9kdWxlO1xyXG59O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/module.js\n"); /***/ }), @@ -5198,7 +5162,7 @@ eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar contains = _ramda.contains;\nvar isEmpty = _ramda.isEmpty;\nvar isNil = _ramda.isNil;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar Component = _react.Component;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nvar _TreeContainer = __webpack_require__(/*! ./TreeContainer */ \"./src/TreeContainer.js\");\n\nvar TreeContainer = _interopRequireDefault(_TreeContainer).default;\n\nvar _index = __webpack_require__(/*! ./actions/index */ \"./src/actions/index.js\");\n\nvar computeGraphs = _index.computeGraphs;\nvar computePaths = _index.computePaths;\nvar hydrateInitialOutputs = _index.hydrateInitialOutputs;\nvar setLayout = _index.setLayout;\n\nvar _api = __webpack_require__(/*! ./actions/api */ \"./src/actions/api.js\");\n\nvar getDependencies = _api.getDependencies;\nvar getLayout = _api.getLayout;\n\nvar _constants = __webpack_require__(/*! ./reducers/constants */ \"./src/reducers/constants.js\");\n\nvar APP_STATES = _constants.APP_STATES;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\r\n * Fire off API calls for initialization\r\n */\nvar UnconnectedContainer = function (_Component) {\n _inherits(UnconnectedContainer, _Component);\n\n function UnconnectedContainer(props) {\n _classCallCheck(this, UnconnectedContainer);\n\n var _this = _possibleConstructorReturn(this, (UnconnectedContainer.__proto__ || Object.getPrototypeOf(UnconnectedContainer)).call(this, props));\n\n _this.initialization = _this.initialization.bind(_this);\n return _this;\n }\n\n _createClass(UnconnectedContainer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.initialization(this.props);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n this.initialization(props);\n }\n }, {\n key: 'initialization',\n value: function initialization(props) {\n var appLifecycle = props.appLifecycle,\n dependenciesRequest = props.dependenciesRequest,\n dispatch = props.dispatch,\n graphs = props.graphs,\n layout = props.layout,\n layoutRequest = props.layoutRequest,\n paths = props.paths;\n\n\n if (isEmpty(layoutRequest)) {\n dispatch(getLayout());\n } else if (layoutRequest.status === 200) {\n if (isEmpty(layout)) {\n dispatch(setLayout(layoutRequest.content));\n } else if (isNil(paths)) {\n dispatch(computePaths({ subTree: layout, startingPath: [] }));\n }\n }\n\n if (isEmpty(dependenciesRequest)) {\n dispatch(getDependencies());\n } else if (dependenciesRequest.status === 200 && isEmpty(graphs)) {\n dispatch(computeGraphs(dependenciesRequest.content));\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === 200 && !isEmpty(graphs) &&\n\n // LayoutRequest and its computed stores\n layoutRequest.status === 200 && !isEmpty(layout) && !isNil(paths) &&\n\n // Hasn't already hydrated\n appLifecycle === APP_STATES('STARTED')) {\n dispatch(hydrateInitialOutputs());\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n appLifecycle = _props.appLifecycle,\n dependenciesRequest = _props.dependenciesRequest,\n layoutRequest = _props.layoutRequest,\n layout = _props.layout;\n\n\n if (layoutRequest.status && !contains(layoutRequest.status, [200, 'loading'])) {\n return React.createElement(\n 'div',\n { className: '_dash-error' },\n 'Error loading layout'\n );\n } else if (dependenciesRequest.status && !contains(dependenciesRequest.status, [200, 'loading'])) {\n return React.createElement(\n 'div',\n { className: '_dash-error' },\n 'Error loading dependencies'\n );\n } else if (appLifecycle === APP_STATES('HYDRATED')) {\n return React.createElement(\n 'div',\n { id: '_dash-app-content' },\n React.createElement(TreeContainer, { layout: layout })\n );\n } else {\n return React.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n }\n }\n }]);\n\n return UnconnectedContainer;\n}(Component);\n\nUnconnectedContainer.propTypes = {\n appLifecycle: PropTypes.oneOf([APP_STATES('STARTED'), APP_STATES('HYDRATED')]),\n dispatch: PropTypes.func,\n dependenciesRequest: PropTypes.object,\n layoutRequest: PropTypes.object,\n layout: PropTypes.object,\n paths: PropTypes.object,\n history: PropTypes.array\n};\n\nvar Container = connect(\n// map state to props\nfunction (state) {\n return {\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n paths: state.paths,\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedContainer);\n\nexports.default = Container;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FQSUNvbnRyb2xsZXIucmVhY3QuanM/ZWExNSJdLCJuYW1lcyI6WyJjb25uZWN0IiwiY29udGFpbnMiLCJpc0VtcHR5IiwiaXNOaWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIlRyZWVDb250YWluZXIiLCJjb21wdXRlR3JhcGhzIiwiY29tcHV0ZVBhdGhzIiwiaHlkcmF0ZUluaXRpYWxPdXRwdXRzIiwic2V0TGF5b3V0IiwiZ2V0RGVwZW5kZW5jaWVzIiwiZ2V0TGF5b3V0IiwiQVBQX1NUQVRFUyIsIlVuY29ubmVjdGVkQ29udGFpbmVyIiwicHJvcHMiLCJpbml0aWFsaXphdGlvbiIsImJpbmQiLCJhcHBMaWZlY3ljbGUiLCJkZXBlbmRlbmNpZXNSZXF1ZXN0IiwiZGlzcGF0Y2giLCJncmFwaHMiLCJsYXlvdXQiLCJsYXlvdXRSZXF1ZXN0IiwicGF0aHMiLCJzdGF0dXMiLCJjb250ZW50Iiwic3ViVHJlZSIsInN0YXJ0aW5nUGF0aCIsInByb3BUeXBlcyIsIm9uZU9mIiwiZnVuYyIsIm9iamVjdCIsImhpc3RvcnkiLCJhcnJheSIsIkNvbnRhaW5lciIsInN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztJQUFRQSxPLGVBQUFBLE87O0FBQ1I7O0lBQVFDLFEsVUFBQUEsUTtJQUFVQyxPLFVBQUFBLE87SUFBU0MsSyxVQUFBQSxLOztBQUMzQjs7SUFBT0MsSzs7SUFBUUMsUyxVQUFBQSxTOztBQUNmOztJQUFPQyxTOztBQUNQOztJQUFPQyxhOztBQUNQOztJQUNJQyxhLFVBQUFBLGE7SUFDQUMsWSxVQUFBQSxZO0lBQ0FDLHFCLFVBQUFBLHFCO0lBQ0FDLFMsVUFBQUEsUzs7QUFFSjs7SUFBUUMsZSxRQUFBQSxlO0lBQWlCQyxTLFFBQUFBLFM7O0FBQ3pCOztJQUFRQyxVLGNBQUFBLFU7Ozs7Ozs7Ozs7QUFFUjs7O0lBR01DLG9COzs7QUFDRixrQ0FBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBLGdKQUNUQSxLQURTOztBQUVmLGNBQUtDLGNBQUwsR0FBc0IsTUFBS0EsY0FBTCxDQUFvQkMsSUFBcEIsT0FBdEI7QUFGZTtBQUdsQjs7Ozs0Q0FDbUI7QUFDaEIsaUJBQUtELGNBQUwsQ0FBb0IsS0FBS0QsS0FBekI7QUFDSDs7O2tEQUV5QkEsSyxFQUFPO0FBQzdCLGlCQUFLQyxjQUFMLENBQW9CRCxLQUFwQjtBQUNIOzs7dUNBRWNBLEssRUFBTztBQUFBLGdCQUVkRyxZQUZjLEdBU2RILEtBVGMsQ0FFZEcsWUFGYztBQUFBLGdCQUdkQyxtQkFIYyxHQVNkSixLQVRjLENBR2RJLG1CQUhjO0FBQUEsZ0JBSWRDLFFBSmMsR0FTZEwsS0FUYyxDQUlkSyxRQUpjO0FBQUEsZ0JBS2RDLE1BTGMsR0FTZE4sS0FUYyxDQUtkTSxNQUxjO0FBQUEsZ0JBTWRDLE1BTmMsR0FTZFAsS0FUYyxDQU1kTyxNQU5jO0FBQUEsZ0JBT2RDLGFBUGMsR0FTZFIsS0FUYyxDQU9kUSxhQVBjO0FBQUEsZ0JBUWRDLEtBUmMsR0FTZFQsS0FUYyxDQVFkUyxLQVJjOzs7QUFXbEIsZ0JBQUl2QixRQUFRc0IsYUFBUixDQUFKLEVBQTRCO0FBQ3hCSCx5QkFBU1IsV0FBVDtBQUNILGFBRkQsTUFFTyxJQUFJVyxjQUFjRSxNQUFkLEtBQXlCLEdBQTdCLEVBQWtDO0FBQ3JDLG9CQUFJeEIsUUFBUXFCLE1BQVIsQ0FBSixFQUFxQjtBQUNqQkYsNkJBQVNWLFVBQVVhLGNBQWNHLE9BQXhCLENBQVQ7QUFDSCxpQkFGRCxNQUVPLElBQUl4QixNQUFNc0IsS0FBTixDQUFKLEVBQWtCO0FBQ3JCSiw2QkFBU1osYUFBYSxFQUFDbUIsU0FBU0wsTUFBVixFQUFrQk0sY0FBYyxFQUFoQyxFQUFiLENBQVQ7QUFDSDtBQUNKOztBQUVELGdCQUFJM0IsUUFBUWtCLG1CQUFSLENBQUosRUFBa0M7QUFDOUJDLHlCQUFTVCxpQkFBVDtBQUNILGFBRkQsTUFFTyxJQUFJUSxvQkFBb0JNLE1BQXBCLEtBQStCLEdBQS9CLElBQXNDeEIsUUFBUW9CLE1BQVIsQ0FBMUMsRUFBMkQ7QUFDOURELHlCQUFTYixjQUFjWSxvQkFBb0JPLE9BQWxDLENBQVQ7QUFDSDs7QUFFRDtBQUNJO0FBQ0FQLGdDQUFvQk0sTUFBcEIsS0FBK0IsR0FBL0IsSUFDQSxDQUFDeEIsUUFBUW9CLE1BQVIsQ0FERDs7QUFHQTtBQUNBRSwwQkFBY0UsTUFBZCxLQUF5QixHQUp6QixJQUtBLENBQUN4QixRQUFRcUIsTUFBUixDQUxELElBTUEsQ0FBQ3BCLE1BQU1zQixLQUFOLENBTkQ7O0FBUUE7QUFDQU4sNkJBQWlCTCxXQUFXLFNBQVgsQ0FYckIsRUFZRTtBQUNFTyx5QkFBU1gsdUJBQVQ7QUFDSDtBQUNKOzs7aUNBRVM7QUFBQSx5QkFNRixLQUFLTSxLQU5IO0FBQUEsZ0JBRUZHLFlBRkUsVUFFRkEsWUFGRTtBQUFBLGdCQUdGQyxtQkFIRSxVQUdGQSxtQkFIRTtBQUFBLGdCQUlGSSxhQUpFLFVBSUZBLGFBSkU7QUFBQSxnQkFLRkQsTUFMRSxVQUtGQSxNQUxFOzs7QUFRTixnQkFBSUMsY0FBY0UsTUFBZCxJQUNBLENBQUN6QixTQUFTdUIsY0FBY0UsTUFBdkIsRUFBK0IsQ0FBQyxHQUFELEVBQU0sU0FBTixDQUEvQixDQURMLEVBRUU7QUFDRSx1QkFBUTtBQUFBO0FBQUEsc0JBQUssV0FBVSxhQUFmO0FBQThCO0FBQTlCLGlCQUFSO0FBQ0gsYUFKRCxNQU9LLElBQ0ROLG9CQUFvQk0sTUFBcEIsSUFDQSxDQUFDekIsU0FBU21CLG9CQUFvQk0sTUFBN0IsRUFBcUMsQ0FBQyxHQUFELEVBQU0sU0FBTixDQUFyQyxDQUZBLEVBR0g7QUFDRSx1QkFBUTtBQUFBO0FBQUEsc0JBQUssV0FBVSxhQUFmO0FBQThCO0FBQTlCLGlCQUFSO0FBQ0gsYUFMSSxNQVFBLElBQUlQLGlCQUFpQkwsV0FBVyxVQUFYLENBQXJCLEVBQTZDO0FBQzlDLHVCQUNJO0FBQUE7QUFBQSxzQkFBSyxJQUFHLG1CQUFSO0FBQ0ksd0NBQUMsYUFBRCxJQUFlLFFBQVFTLE1BQXZCO0FBREosaUJBREo7QUFLSCxhQU5JLE1BUUE7QUFDRCx1QkFBUTtBQUFBO0FBQUEsc0JBQUssV0FBVSxlQUFmO0FBQWdDO0FBQWhDLGlCQUFSO0FBQ0g7QUFDSjs7OztFQTNGOEJsQixTOztBQTZGbkNVLHFCQUFxQmUsU0FBckIsR0FBaUM7QUFDN0JYLGtCQUFjYixVQUFVeUIsS0FBVixDQUFnQixDQUMxQmpCLFdBQVcsU0FBWCxDQUQwQixFQUUxQkEsV0FBVyxVQUFYLENBRjBCLENBQWhCLENBRGU7QUFLN0JPLGNBQVVmLFVBQVUwQixJQUxTO0FBTTdCWix5QkFBcUJkLFVBQVUyQixNQU5GO0FBTzdCVCxtQkFBZWxCLFVBQVUyQixNQVBJO0FBUTdCVixZQUFRakIsVUFBVTJCLE1BUlc7QUFTN0JSLFdBQU9uQixVQUFVMkIsTUFUWTtBQVU3QkMsYUFBUzVCLFVBQVU2QjtBQVZVLENBQWpDOztBQWFBLElBQU1DLFlBQVlwQztBQUNkO0FBQ0E7QUFBQSxXQUFVO0FBQ05tQixzQkFBY2tCLE1BQU1sQixZQURkO0FBRU5DLDZCQUFxQmlCLE1BQU1qQixtQkFGckI7QUFHTkksdUJBQWVhLE1BQU1iLGFBSGY7QUFJTkQsZ0JBQVFjLE1BQU1kLE1BSlI7QUFLTkQsZ0JBQVFlLE1BQU1mLE1BTFI7QUFNTkcsZUFBT1ksTUFBTVosS0FOUDtBQU9OUyxpQkFBU0csTUFBTUg7QUFQVCxLQUFWO0FBQUEsQ0FGYyxFQVdkO0FBQUEsV0FBYSxFQUFDYixrQkFBRCxFQUFiO0FBQUEsQ0FYYyxFQVloQk4sb0JBWmdCLENBQWxCOztrQkFjZXFCLFMiLCJmaWxlIjoiLi9zcmMvQVBJQ29udHJvbGxlci5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCB7Y29udGFpbnMsIGlzRW1wdHksIGlzTmlsfSBmcm9tICdyYW1kYSdcclxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XHJcbmltcG9ydCBUcmVlQ29udGFpbmVyIGZyb20gJy4vVHJlZUNvbnRhaW5lcic7XHJcbmltcG9ydCB7XHJcbiAgICBjb21wdXRlR3JhcGhzLFxyXG4gICAgY29tcHV0ZVBhdGhzLFxyXG4gICAgaHlkcmF0ZUluaXRpYWxPdXRwdXRzLFxyXG4gICAgc2V0TGF5b3V0XHJcbn0gZnJvbSAnLi9hY3Rpb25zL2luZGV4JztcclxuaW1wb3J0IHtnZXREZXBlbmRlbmNpZXMsIGdldExheW91dH0gZnJvbSAnLi9hY3Rpb25zL2FwaSc7XHJcbmltcG9ydCB7QVBQX1NUQVRFU30gZnJvbSAnLi9yZWR1Y2Vycy9jb25zdGFudHMnO1xyXG5cclxuLyoqXHJcbiAqIEZpcmUgb2ZmIEFQSSBjYWxscyBmb3IgaW5pdGlhbGl6YXRpb25cclxuICovXHJcbmNsYXNzIFVuY29ubmVjdGVkQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6YXRpb24gPSB0aGlzLmluaXRpYWxpemF0aW9uLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemF0aW9uKHRoaXMucHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMocHJvcHMpIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemF0aW9uKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXphdGlvbihwcm9wcykge1xyXG4gICAgICAgIGNvbnN0IHtcclxuICAgICAgICAgICAgYXBwTGlmZWN5Y2xlLFxyXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0LFxyXG4gICAgICAgICAgICBkaXNwYXRjaCxcclxuICAgICAgICAgICAgZ3JhcGhzLFxyXG4gICAgICAgICAgICBsYXlvdXQsXHJcbiAgICAgICAgICAgIGxheW91dFJlcXVlc3QsXHJcbiAgICAgICAgICAgIHBhdGhzXHJcbiAgICAgICAgfSA9IHByb3BzO1xyXG5cclxuICAgICAgICBpZiAoaXNFbXB0eShsYXlvdXRSZXF1ZXN0KSkge1xyXG4gICAgICAgICAgICBkaXNwYXRjaChnZXRMYXlvdXQoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChsYXlvdXRSZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGxheW91dCkpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHNldExheW91dChsYXlvdXRSZXF1ZXN0LmNvbnRlbnQpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpc05pbChwYXRocykpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKGNvbXB1dGVQYXRocyh7c3ViVHJlZTogbGF5b3V0LCBzdGFydGluZ1BhdGg6IFtdfSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXNFbXB0eShkZXBlbmRlbmNpZXNSZXF1ZXN0KSkge1xyXG4gICAgICAgICAgICBkaXNwYXRjaChnZXREZXBlbmRlbmNpZXMoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkZXBlbmRlbmNpZXNSZXF1ZXN0LnN0YXR1cyA9PT0gMjAwICYmIGlzRW1wdHkoZ3JhcGhzKSkge1xyXG4gICAgICAgICAgICBkaXNwYXRjaChjb21wdXRlR3JhcGhzKGRlcGVuZGVuY2llc1JlcXVlc3QuY29udGVudCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAvLyBkZXBlbmRlbmNpZXNSZXF1ZXN0IGFuZCBpdHMgY29tcHV0ZWQgc3RvcmVzXHJcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1JlcXVlc3Quc3RhdHVzID09PSAyMDAgJiZcclxuICAgICAgICAgICAgIWlzRW1wdHkoZ3JhcGhzKSAmJlxyXG5cclxuICAgICAgICAgICAgLy8gTGF5b3V0UmVxdWVzdCBhbmQgaXRzIGNvbXB1dGVkIHN0b3Jlc1xyXG4gICAgICAgICAgICBsYXlvdXRSZXF1ZXN0LnN0YXR1cyA9PT0gMjAwICYmXHJcbiAgICAgICAgICAgICFpc0VtcHR5KGxheW91dCkgJiZcclxuICAgICAgICAgICAgIWlzTmlsKHBhdGhzKSAmJlxyXG5cclxuICAgICAgICAgICAgLy8gSGFzbid0IGFscmVhZHkgaHlkcmF0ZWRcclxuICAgICAgICAgICAgYXBwTGlmZWN5Y2xlID09PSBBUFBfU1RBVEVTKCdTVEFSVEVEJylcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgZGlzcGF0Y2goaHlkcmF0ZUluaXRpYWxPdXRwdXRzKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIgKCkge1xyXG4gICAgICAgIGNvbnN0IHtcclxuICAgICAgICAgICAgYXBwTGlmZWN5Y2xlLFxyXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0LFxyXG4gICAgICAgICAgICBsYXlvdXRSZXF1ZXN0LFxyXG4gICAgICAgICAgICBsYXlvdXRcclxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICAgICAgaWYgKGxheW91dFJlcXVlc3Quc3RhdHVzICYmXHJcbiAgICAgICAgICAgICFjb250YWlucyhsYXlvdXRSZXF1ZXN0LnN0YXR1cywgWzIwMCwgJ2xvYWRpbmcnXSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuICg8ZGl2IGNsYXNzTmFtZT1cIl9kYXNoLWVycm9yXCI+eydFcnJvciBsb2FkaW5nIGxheW91dCd9PC9kaXY+KTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBlbHNlIGlmIChcclxuICAgICAgICAgICAgZGVwZW5kZW5jaWVzUmVxdWVzdC5zdGF0dXMgJiZcclxuICAgICAgICAgICAgIWNvbnRhaW5zKGRlcGVuZGVuY2llc1JlcXVlc3Quc3RhdHVzLCBbMjAwLCAnbG9hZGluZyddKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gKDxkaXYgY2xhc3NOYW1lPVwiX2Rhc2gtZXJyb3JcIj57J0Vycm9yIGxvYWRpbmcgZGVwZW5kZW5jaWVzJ308L2Rpdj4pO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGVsc2UgaWYgKGFwcExpZmVjeWNsZSA9PT0gQVBQX1NUQVRFUygnSFlEUkFURUQnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIl9kYXNoLWFwcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRyZWVDb250YWluZXIgbGF5b3V0PXtsYXlvdXR9Lz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoPGRpdiBjbGFzc05hbWU9XCJfZGFzaC1sb2FkaW5nXCI+eydMb2FkaW5nLi4uJ308L2Rpdj4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5VbmNvbm5lY3RlZENvbnRhaW5lci5wcm9wVHlwZXMgPSB7XHJcbiAgICBhcHBMaWZlY3ljbGU6IFByb3BUeXBlcy5vbmVPZihbXHJcbiAgICAgICAgQVBQX1NUQVRFUygnU1RBUlRFRCcpLFxyXG4gICAgICAgIEFQUF9TVEFURVMoJ0hZRFJBVEVEJylcclxuICAgIF0pLFxyXG4gICAgZGlzcGF0Y2g6IFByb3BUeXBlcy5mdW5jLFxyXG4gICAgZGVwZW5kZW5jaWVzUmVxdWVzdDogUHJvcFR5cGVzLm9iamVjdCxcclxuICAgIGxheW91dFJlcXVlc3Q6IFByb3BUeXBlcy5vYmplY3QsXHJcbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5vYmplY3QsXHJcbiAgICBwYXRoczogUHJvcFR5cGVzLm9iamVjdCxcclxuICAgIGhpc3Rvcnk6IFByb3BUeXBlcy5hcnJheVxyXG59XHJcblxyXG5jb25zdCBDb250YWluZXIgPSBjb25uZWN0KFxyXG4gICAgLy8gbWFwIHN0YXRlIHRvIHByb3BzXHJcbiAgICBzdGF0ZSA9PiAoe1xyXG4gICAgICAgIGFwcExpZmVjeWNsZTogc3RhdGUuYXBwTGlmZWN5Y2xlLFxyXG4gICAgICAgIGRlcGVuZGVuY2llc1JlcXVlc3Q6IHN0YXRlLmRlcGVuZGVuY2llc1JlcXVlc3QsXHJcbiAgICAgICAgbGF5b3V0UmVxdWVzdDogc3RhdGUubGF5b3V0UmVxdWVzdCxcclxuICAgICAgICBsYXlvdXQ6IHN0YXRlLmxheW91dCxcclxuICAgICAgICBncmFwaHM6IHN0YXRlLmdyYXBocyxcclxuICAgICAgICBwYXRoczogc3RhdGUucGF0aHMsXHJcbiAgICAgICAgaGlzdG9yeTogc3RhdGUuaGlzdG9yeVxyXG4gICAgfSksXHJcbiAgICBkaXNwYXRjaCA9PiAoe2Rpc3BhdGNofSlcclxuKShVbmNvbm5lY3RlZENvbnRhaW5lcik7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBDb250YWluZXI7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/APIController.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TreeContainer = __webpack_require__(/*! ./TreeContainer */ \"./src/TreeContainer.js\");\n\nvar _TreeContainer2 = _interopRequireDefault(_TreeContainer);\n\nvar _index = __webpack_require__(/*! ./actions/index */ \"./src/actions/index.js\");\n\nvar _api = __webpack_require__(/*! ./actions/api */ \"./src/actions/api.js\");\n\nvar _constants = __webpack_require__(/*! ./reducers/constants */ \"./src/reducers/constants.js\");\n\nvar _constants2 = __webpack_require__(/*! ./constants/constants */ \"./src/constants/constants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Fire off API calls for initialization\n */\nvar UnconnectedContainer = function (_Component) {\n _inherits(UnconnectedContainer, _Component);\n\n function UnconnectedContainer(props) {\n _classCallCheck(this, UnconnectedContainer);\n\n var _this = _possibleConstructorReturn(this, (UnconnectedContainer.__proto__ || Object.getPrototypeOf(UnconnectedContainer)).call(this, props));\n\n _this.initialization = _this.initialization.bind(_this);\n return _this;\n }\n\n _createClass(UnconnectedContainer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.initialization(this.props);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n this.initialization(props);\n }\n }, {\n key: 'initialization',\n value: function initialization(props) {\n var appLifecycle = props.appLifecycle,\n dependenciesRequest = props.dependenciesRequest,\n dispatch = props.dispatch,\n graphs = props.graphs,\n layout = props.layout,\n layoutRequest = props.layoutRequest,\n paths = props.paths;\n\n\n if ((0, _ramda.isEmpty)(layoutRequest)) {\n dispatch((0, _api.getLayout)());\n } else if (layoutRequest.status === _constants2.STATUS.OK) {\n if ((0, _ramda.isEmpty)(layout)) {\n dispatch((0, _index.setLayout)(layoutRequest.content));\n } else if ((0, _ramda.isNil)(paths)) {\n dispatch((0, _index.computePaths)({ subTree: layout, startingPath: [] }));\n }\n }\n\n if ((0, _ramda.isEmpty)(dependenciesRequest)) {\n dispatch((0, _api.getDependencies)());\n } else if (dependenciesRequest.status === _constants2.STATUS.OK && (0, _ramda.isEmpty)(graphs)) {\n dispatch((0, _index.computeGraphs)(dependenciesRequest.content));\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === _constants2.STATUS.OK && !(0, _ramda.isEmpty)(graphs) &&\n // LayoutRequest and its computed stores\n layoutRequest.status === _constants2.STATUS.OK && !(0, _ramda.isEmpty)(layout) && !(0, _ramda.isNil)(paths) &&\n // Hasn't already hydrated\n appLifecycle === (0, _constants.getAppState)('STARTED')) {\n dispatch((0, _index.hydrateInitialOutputs)());\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n appLifecycle = _props.appLifecycle,\n dependenciesRequest = _props.dependenciesRequest,\n layoutRequest = _props.layoutRequest,\n layout = _props.layout;\n\n\n if (layoutRequest.status && !(0, _ramda.contains)(layoutRequest.status, [_constants2.STATUS.OK, 'loading'])) {\n return _react2.default.createElement(\n 'div',\n { className: '_dash-error' },\n 'Error loading layout'\n );\n } else if (dependenciesRequest.status && !(0, _ramda.contains)(dependenciesRequest.status, [_constants2.STATUS.OK, 'loading'])) {\n return _react2.default.createElement(\n 'div',\n { className: '_dash-error' },\n 'Error loading dependencies'\n );\n } else if (appLifecycle === (0, _constants.getAppState)('HYDRATED')) {\n return _react2.default.createElement(\n 'div',\n { id: '_dash-app-content' },\n _react2.default.createElement(_TreeContainer2.default, { layout: layout })\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n }\n }]);\n\n return UnconnectedContainer;\n}(_react.Component);\n\nUnconnectedContainer.propTypes = {\n appLifecycle: _propTypes2.default.oneOf([(0, _constants.getAppState)('STARTED'), (0, _constants.getAppState)('HYDRATED')]),\n dispatch: _propTypes2.default.func,\n dependenciesRequest: _propTypes2.default.object,\n layoutRequest: _propTypes2.default.object,\n layout: _propTypes2.default.object,\n paths: _propTypes2.default.object,\n history: _propTypes2.default.array\n};\n\nvar Container = (0, _reactRedux.connect)(\n// map state to props\nfunction (state) {\n return {\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n paths: state.paths,\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedContainer);\n\nexports.default = Container;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FQSUNvbnRyb2xsZXIucmVhY3QuanM/ZWExNSJdLCJuYW1lcyI6WyJVbmNvbm5lY3RlZENvbnRhaW5lciIsInByb3BzIiwiaW5pdGlhbGl6YXRpb24iLCJiaW5kIiwiYXBwTGlmZWN5Y2xlIiwiZGVwZW5kZW5jaWVzUmVxdWVzdCIsImRpc3BhdGNoIiwiZ3JhcGhzIiwibGF5b3V0IiwibGF5b3V0UmVxdWVzdCIsInBhdGhzIiwic3RhdHVzIiwiU1RBVFVTIiwiT0siLCJjb250ZW50Iiwic3ViVHJlZSIsInN0YXJ0aW5nUGF0aCIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9uZU9mIiwiZnVuYyIsIm9iamVjdCIsImhpc3RvcnkiLCJhcnJheSIsIkNvbnRhaW5lciIsInN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQU1BOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUE7OztJQUdNQSxvQjs7O0FBQ0Ysa0NBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSxnSkFDVEEsS0FEUzs7QUFFZixjQUFLQyxjQUFMLEdBQXNCLE1BQUtBLGNBQUwsQ0FBb0JDLElBQXBCLE9BQXRCO0FBRmU7QUFHbEI7Ozs7NENBQ21CO0FBQ2hCLGlCQUFLRCxjQUFMLENBQW9CLEtBQUtELEtBQXpCO0FBQ0g7OztrREFFeUJBLEssRUFBTztBQUM3QixpQkFBS0MsY0FBTCxDQUFvQkQsS0FBcEI7QUFDSDs7O3VDQUVjQSxLLEVBQU87QUFBQSxnQkFFZEcsWUFGYyxHQVNkSCxLQVRjLENBRWRHLFlBRmM7QUFBQSxnQkFHZEMsbUJBSGMsR0FTZEosS0FUYyxDQUdkSSxtQkFIYztBQUFBLGdCQUlkQyxRQUpjLEdBU2RMLEtBVGMsQ0FJZEssUUFKYztBQUFBLGdCQUtkQyxNQUxjLEdBU2ROLEtBVGMsQ0FLZE0sTUFMYztBQUFBLGdCQU1kQyxNQU5jLEdBU2RQLEtBVGMsQ0FNZE8sTUFOYztBQUFBLGdCQU9kQyxhQVBjLEdBU2RSLEtBVGMsQ0FPZFEsYUFQYztBQUFBLGdCQVFkQyxLQVJjLEdBU2RULEtBVGMsQ0FRZFMsS0FSYzs7O0FBV2xCLGdCQUFJLG9CQUFRRCxhQUFSLENBQUosRUFBNEI7QUFDeEJILHlCQUFTLHFCQUFUO0FBQ0gsYUFGRCxNQUVPLElBQUlHLGNBQWNFLE1BQWQsS0FBeUJDLG1CQUFPQyxFQUFwQyxFQUF3QztBQUMzQyxvQkFBSSxvQkFBUUwsTUFBUixDQUFKLEVBQXFCO0FBQ2pCRiw2QkFBUyxzQkFBVUcsY0FBY0ssT0FBeEIsQ0FBVDtBQUNILGlCQUZELE1BRU8sSUFBSSxrQkFBTUosS0FBTixDQUFKLEVBQWtCO0FBQ3JCSiw2QkFBUyx5QkFBYSxFQUFDUyxTQUFTUCxNQUFWLEVBQWtCUSxjQUFjLEVBQWhDLEVBQWIsQ0FBVDtBQUNIO0FBQ0o7O0FBRUQsZ0JBQUksb0JBQVFYLG1CQUFSLENBQUosRUFBa0M7QUFDOUJDLHlCQUFTLDJCQUFUO0FBQ0gsYUFGRCxNQUVPLElBQ0hELG9CQUFvQk0sTUFBcEIsS0FBK0JDLG1CQUFPQyxFQUF0QyxJQUNBLG9CQUFRTixNQUFSLENBRkcsRUFHTDtBQUNFRCx5QkFBUywwQkFBY0Qsb0JBQW9CUyxPQUFsQyxDQUFUO0FBQ0g7O0FBRUQ7QUFDSTtBQUNBVCxnQ0FBb0JNLE1BQXBCLEtBQStCQyxtQkFBT0MsRUFBdEMsSUFDQSxDQUFDLG9CQUFRTixNQUFSLENBREQ7QUFFQTtBQUNBRSwwQkFBY0UsTUFBZCxLQUF5QkMsbUJBQU9DLEVBSGhDLElBSUEsQ0FBQyxvQkFBUUwsTUFBUixDQUpELElBS0EsQ0FBQyxrQkFBTUUsS0FBTixDQUxEO0FBTUE7QUFDQU4sNkJBQWlCLDRCQUFZLFNBQVosQ0FUckIsRUFVRTtBQUNFRSx5QkFBUyxtQ0FBVDtBQUNIO0FBQ0o7OztpQ0FFUTtBQUFBLHlCQU1ELEtBQUtMLEtBTko7QUFBQSxnQkFFREcsWUFGQyxVQUVEQSxZQUZDO0FBQUEsZ0JBR0RDLG1CQUhDLFVBR0RBLG1CQUhDO0FBQUEsZ0JBSURJLGFBSkMsVUFJREEsYUFKQztBQUFBLGdCQUtERCxNQUxDLFVBS0RBLE1BTEM7OztBQVFMLGdCQUNJQyxjQUFjRSxNQUFkLElBQ0EsQ0FBQyxxQkFBU0YsY0FBY0UsTUFBdkIsRUFBK0IsQ0FBQ0MsbUJBQU9DLEVBQVIsRUFBWSxTQUFaLENBQS9CLENBRkwsRUFHRTtBQUNFLHVCQUFPO0FBQUE7QUFBQSxzQkFBSyxXQUFVLGFBQWY7QUFBOEI7QUFBOUIsaUJBQVA7QUFDSCxhQUxELE1BS08sSUFDSFIsb0JBQW9CTSxNQUFwQixJQUNBLENBQUMscUJBQVNOLG9CQUFvQk0sTUFBN0IsRUFBcUMsQ0FBQ0MsbUJBQU9DLEVBQVIsRUFBWSxTQUFaLENBQXJDLENBRkUsRUFHTDtBQUNFLHVCQUNJO0FBQUE7QUFBQSxzQkFBSyxXQUFVLGFBQWY7QUFDSztBQURMLGlCQURKO0FBS0gsYUFUTSxNQVNBLElBQUlULGlCQUFpQiw0QkFBWSxVQUFaLENBQXJCLEVBQThDO0FBQ2pELHVCQUNJO0FBQUE7QUFBQSxzQkFBSyxJQUFHLG1CQUFSO0FBQ0ksa0RBQUMsdUJBQUQsSUFBZSxRQUFRSSxNQUF2QjtBQURKLGlCQURKO0FBS0g7O0FBRUQsbUJBQU87QUFBQTtBQUFBLGtCQUFLLFdBQVUsZUFBZjtBQUFnQztBQUFoQyxhQUFQO0FBQ0g7Ozs7RUF6RjhCUyxnQjs7QUEyRm5DakIscUJBQXFCa0IsU0FBckIsR0FBaUM7QUFDN0JkLGtCQUFjZSxvQkFBVUMsS0FBVixDQUFnQixDQUMxQiw0QkFBWSxTQUFaLENBRDBCLEVBRTFCLDRCQUFZLFVBQVosQ0FGMEIsQ0FBaEIsQ0FEZTtBQUs3QmQsY0FBVWEsb0JBQVVFLElBTFM7QUFNN0JoQix5QkFBcUJjLG9CQUFVRyxNQU5GO0FBTzdCYixtQkFBZVUsb0JBQVVHLE1BUEk7QUFRN0JkLFlBQVFXLG9CQUFVRyxNQVJXO0FBUzdCWixXQUFPUyxvQkFBVUcsTUFUWTtBQVU3QkMsYUFBU0osb0JBQVVLO0FBVlUsQ0FBakM7O0FBYUEsSUFBTUMsWUFBWTtBQUNkO0FBQ0E7QUFBQSxXQUFVO0FBQ05yQixzQkFBY3NCLE1BQU10QixZQURkO0FBRU5DLDZCQUFxQnFCLE1BQU1yQixtQkFGckI7QUFHTkksdUJBQWVpQixNQUFNakIsYUFIZjtBQUlORCxnQkFBUWtCLE1BQU1sQixNQUpSO0FBS05ELGdCQUFRbUIsTUFBTW5CLE1BTFI7QUFNTkcsZUFBT2dCLE1BQU1oQixLQU5QO0FBT05hLGlCQUFTRyxNQUFNSDtBQVBULEtBQVY7QUFBQSxDQUZjLEVBV2Q7QUFBQSxXQUFhLEVBQUNqQixrQkFBRCxFQUFiO0FBQUEsQ0FYYyxFQVloQk4sb0JBWmdCLENBQWxCOztrQkFjZXlCLFMiLCJmaWxlIjoiLi9zcmMvQVBJQ29udHJvbGxlci5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtjb250YWlucywgaXNFbXB0eSwgaXNOaWx9IGZyb20gJ3JhbWRhJztcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBUcmVlQ29udGFpbmVyIGZyb20gJy4vVHJlZUNvbnRhaW5lcic7XG5pbXBvcnQge1xuICAgIGNvbXB1dGVHcmFwaHMsXG4gICAgY29tcHV0ZVBhdGhzLFxuICAgIGh5ZHJhdGVJbml0aWFsT3V0cHV0cyxcbiAgICBzZXRMYXlvdXQsXG59IGZyb20gJy4vYWN0aW9ucy9pbmRleCc7XG5pbXBvcnQge2dldERlcGVuZGVuY2llcywgZ2V0TGF5b3V0fSBmcm9tICcuL2FjdGlvbnMvYXBpJztcbmltcG9ydCB7Z2V0QXBwU3RhdGV9IGZyb20gJy4vcmVkdWNlcnMvY29uc3RhbnRzJztcbmltcG9ydCB7U1RBVFVTfSBmcm9tICcuL2NvbnN0YW50cy9jb25zdGFudHMnO1xuXG4vKipcbiAqIEZpcmUgb2ZmIEFQSSBjYWxscyBmb3IgaW5pdGlhbGl6YXRpb25cbiAqL1xuY2xhc3MgVW5jb25uZWN0ZWRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXphdGlvbiA9IHRoaXMuaW5pdGlhbGl6YXRpb24uYmluZCh0aGlzKTtcbiAgICB9XG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6YXRpb24odGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhwcm9wcykge1xuICAgICAgICB0aGlzLmluaXRpYWxpemF0aW9uKHByb3BzKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXphdGlvbihwcm9wcykge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBhcHBMaWZlY3ljbGUsXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0LFxuICAgICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgICBncmFwaHMsXG4gICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICBsYXlvdXRSZXF1ZXN0LFxuICAgICAgICAgICAgcGF0aHMsXG4gICAgICAgIH0gPSBwcm9wcztcblxuICAgICAgICBpZiAoaXNFbXB0eShsYXlvdXRSZXF1ZXN0KSkge1xuICAgICAgICAgICAgZGlzcGF0Y2goZ2V0TGF5b3V0KCkpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheW91dFJlcXVlc3Quc3RhdHVzID09PSBTVEFUVVMuT0spIHtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGxheW91dCkpIHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChzZXRMYXlvdXQobGF5b3V0UmVxdWVzdC5jb250ZW50KSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTmlsKHBhdGhzKSkge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKGNvbXB1dGVQYXRocyh7c3ViVHJlZTogbGF5b3V0LCBzdGFydGluZ1BhdGg6IFtdfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRW1wdHkoZGVwZW5kZW5jaWVzUmVxdWVzdCkpIHtcbiAgICAgICAgICAgIGRpc3BhdGNoKGdldERlcGVuZGVuY2llcygpKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1JlcXVlc3Quc3RhdHVzID09PSBTVEFUVVMuT0sgJiZcbiAgICAgICAgICAgIGlzRW1wdHkoZ3JhcGhzKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGRpc3BhdGNoKGNvbXB1dGVHcmFwaHMoZGVwZW5kZW5jaWVzUmVxdWVzdC5jb250ZW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAvLyBkZXBlbmRlbmNpZXNSZXF1ZXN0IGFuZCBpdHMgY29tcHV0ZWQgc3RvcmVzXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0LnN0YXR1cyA9PT0gU1RBVFVTLk9LICYmXG4gICAgICAgICAgICAhaXNFbXB0eShncmFwaHMpICYmXG4gICAgICAgICAgICAvLyBMYXlvdXRSZXF1ZXN0IGFuZCBpdHMgY29tcHV0ZWQgc3RvcmVzXG4gICAgICAgICAgICBsYXlvdXRSZXF1ZXN0LnN0YXR1cyA9PT0gU1RBVFVTLk9LICYmXG4gICAgICAgICAgICAhaXNFbXB0eShsYXlvdXQpICYmXG4gICAgICAgICAgICAhaXNOaWwocGF0aHMpICYmXG4gICAgICAgICAgICAvLyBIYXNuJ3QgYWxyZWFkeSBoeWRyYXRlZFxuICAgICAgICAgICAgYXBwTGlmZWN5Y2xlID09PSBnZXRBcHBTdGF0ZSgnU1RBUlRFRCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGlzcGF0Y2goaHlkcmF0ZUluaXRpYWxPdXRwdXRzKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBhcHBMaWZlY3ljbGUsXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0LFxuICAgICAgICAgICAgbGF5b3V0UmVxdWVzdCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGF5b3V0UmVxdWVzdC5zdGF0dXMgJiZcbiAgICAgICAgICAgICFjb250YWlucyhsYXlvdXRSZXF1ZXN0LnN0YXR1cywgW1NUQVRVUy5PSywgJ2xvYWRpbmcnXSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJfZGFzaC1lcnJvclwiPnsnRXJyb3IgbG9hZGluZyBsYXlvdXQnfTwvZGl2PjtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1JlcXVlc3Quc3RhdHVzICYmXG4gICAgICAgICAgICAhY29udGFpbnMoZGVwZW5kZW5jaWVzUmVxdWVzdC5zdGF0dXMsIFtTVEFUVVMuT0ssICdsb2FkaW5nJ10pXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIl9kYXNoLWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIHsnRXJyb3IgbG9hZGluZyBkZXBlbmRlbmNpZXMnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmIChhcHBMaWZlY3ljbGUgPT09IGdldEFwcFN0YXRlKCdIWURSQVRFRCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJfZGFzaC1hcHAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8VHJlZUNvbnRhaW5lciBsYXlvdXQ9e2xheW91dH0gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJfZGFzaC1sb2FkaW5nXCI+eydMb2FkaW5nLi4uJ308L2Rpdj47XG4gICAgfVxufVxuVW5jb25uZWN0ZWRDb250YWluZXIucHJvcFR5cGVzID0ge1xuICAgIGFwcExpZmVjeWNsZTogUHJvcFR5cGVzLm9uZU9mKFtcbiAgICAgICAgZ2V0QXBwU3RhdGUoJ1NUQVJURUQnKSxcbiAgICAgICAgZ2V0QXBwU3RhdGUoJ0hZRFJBVEVEJyksXG4gICAgXSksXG4gICAgZGlzcGF0Y2g6IFByb3BUeXBlcy5mdW5jLFxuICAgIGRlcGVuZGVuY2llc1JlcXVlc3Q6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGF5b3V0UmVxdWVzdDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgcGF0aHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGlzdG9yeTogUHJvcFR5cGVzLmFycmF5LFxufTtcblxuY29uc3QgQ29udGFpbmVyID0gY29ubmVjdChcbiAgICAvLyBtYXAgc3RhdGUgdG8gcHJvcHNcbiAgICBzdGF0ZSA9PiAoe1xuICAgICAgICBhcHBMaWZlY3ljbGU6IHN0YXRlLmFwcExpZmVjeWNsZSxcbiAgICAgICAgZGVwZW5kZW5jaWVzUmVxdWVzdDogc3RhdGUuZGVwZW5kZW5jaWVzUmVxdWVzdCxcbiAgICAgICAgbGF5b3V0UmVxdWVzdDogc3RhdGUubGF5b3V0UmVxdWVzdCxcbiAgICAgICAgbGF5b3V0OiBzdGF0ZS5sYXlvdXQsXG4gICAgICAgIGdyYXBoczogc3RhdGUuZ3JhcGhzLFxuICAgICAgICBwYXRoczogc3RhdGUucGF0aHMsXG4gICAgICAgIGhpc3Rvcnk6IHN0YXRlLmhpc3RvcnksXG4gICAgfSksXG4gICAgZGlzcGF0Y2ggPT4gKHtkaXNwYXRjaH0pXG4pKFVuY29ubmVjdGVkQ29udGFpbmVyKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29udGFpbmVyO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/APIController.react.js\n"); /***/ }), @@ -5210,7 +5174,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _Authentication = __webpack_require__(/*! ./Authentication.react */ \"./src/Authentication.react.js\");\n\nvar Authentication = _interopRequireDefault(_Authentication).default;\n\nvar _APIController = __webpack_require__(/*! ./APIController.react */ \"./src/APIController.react.js\");\n\nvar APIController = _interopRequireDefault(_APIController).default;\n\nvar _DocumentTitle = __webpack_require__(/*! ./components/core/DocumentTitle.react */ \"./src/components/core/DocumentTitle.react.js\");\n\nvar DocumentTitle = _interopRequireDefault(_DocumentTitle).default;\n\nvar _Loading = __webpack_require__(/*! ./components/core/Loading.react */ \"./src/components/core/Loading.react.js\");\n\nvar Loading = _interopRequireDefault(_Loading).default;\n\nvar _Toolbar = __webpack_require__(/*! ./components/core/Toolbar.react */ \"./src/components/core/Toolbar.react.js\");\n\nvar Toolbar = _interopRequireDefault(_Toolbar).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction UnconnectedAppContainer() {\n return React.createElement(\n Authentication,\n null,\n React.createElement(\n 'div',\n null,\n React.createElement(Toolbar, null),\n React.createElement(APIController, null),\n React.createElement(DocumentTitle, null),\n React.createElement(Loading, null)\n )\n );\n}\n\nvar AppContainer = connect(function (state) {\n return {\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedAppContainer);\n\nexports.default = AppContainer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FwcENvbnRhaW5lci5yZWFjdC5qcz9lOTJlIl0sIm5hbWVzIjpbImNvbm5lY3QiLCJSZWFjdCIsIkF1dGhlbnRpY2F0aW9uIiwiQVBJQ29udHJvbGxlciIsIkRvY3VtZW50VGl0bGUiLCJMb2FkaW5nIiwiVG9vbGJhciIsIlVuY29ubmVjdGVkQXBwQ29udGFpbmVyIiwiQXBwQ29udGFpbmVyIiwiaGlzdG9yeSIsInN0YXRlIiwiZGlzcGF0Y2giXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztJQUFRQSxPLGVBQUFBLE87O0FBQ1I7O0lBQU9DLEs7O0FBQ1A7O0lBQU9DLGM7O0FBQ1A7O0lBQU9DLGE7O0FBQ1A7O0lBQU9DLGE7O0FBQ1A7O0lBQU9DLE87O0FBQ1A7O0lBQU9DLE87Ozs7QUFFUCxTQUFTQyx1QkFBVCxHQUFtQztBQUMvQixXQUNJO0FBQUMsc0JBQUQ7QUFBQTtBQUNJO0FBQUE7QUFBQTtBQUNJLGdDQUFDLE9BQUQsT0FESjtBQUVJLGdDQUFDLGFBQUQsT0FGSjtBQUdJLGdDQUFDLGFBQUQsT0FISjtBQUlJLGdDQUFDLE9BQUQ7QUFKSjtBQURKLEtBREo7QUFVSDs7QUFFRCxJQUFNQyxlQUFlUixRQUNqQjtBQUFBLFdBQVU7QUFDTlMsaUJBQVNDLE1BQU1EO0FBRFQsS0FBVjtBQUFBLENBRGlCLEVBSWpCO0FBQUEsV0FBYSxFQUFDRSxrQkFBRCxFQUFiO0FBQUEsQ0FKaUIsRUFLbkJKLHVCQUxtQixDQUFyQjs7a0JBT2VDLFkiLCJmaWxlIjoiLi9zcmMvQXBwQ29udGFpbmVyLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCc7XHJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBBdXRoZW50aWNhdGlvbiBmcm9tICcuL0F1dGhlbnRpY2F0aW9uLnJlYWN0JztcclxuaW1wb3J0IEFQSUNvbnRyb2xsZXIgZnJvbSAnLi9BUElDb250cm9sbGVyLnJlYWN0JztcclxuaW1wb3J0IERvY3VtZW50VGl0bGUgZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvRG9jdW1lbnRUaXRsZS5yZWFjdCc7XHJcbmltcG9ydCBMb2FkaW5nIGZyb20gJy4vY29tcG9uZW50cy9jb3JlL0xvYWRpbmcucmVhY3QnO1xyXG5pbXBvcnQgVG9vbGJhciBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9Ub29sYmFyLnJlYWN0JztcclxuXHJcbmZ1bmN0aW9uIFVuY29ubmVjdGVkQXBwQ29udGFpbmVyKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8QXV0aGVudGljYXRpb24+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8VG9vbGJhci8+XHJcbiAgICAgICAgICAgICAgICA8QVBJQ29udHJvbGxlci8+XHJcbiAgICAgICAgICAgICAgICA8RG9jdW1lbnRUaXRsZS8+XHJcbiAgICAgICAgICAgICAgICA8TG9hZGluZy8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQXV0aGVudGljYXRpb24+XHJcbiAgICApO1xyXG59XHJcblxyXG5jb25zdCBBcHBDb250YWluZXIgPSBjb25uZWN0KFxyXG4gICAgc3RhdGUgPT4gKHtcclxuICAgICAgICBoaXN0b3J5OiBzdGF0ZS5oaXN0b3J5XHJcbiAgICB9KSxcclxuICAgIGRpc3BhdGNoID0+ICh7ZGlzcGF0Y2h9KVxyXG4pKFVuY29ubmVjdGVkQXBwQ29udGFpbmVyKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IEFwcENvbnRhaW5lcjtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/AppContainer.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Authentication = __webpack_require__(/*! ./Authentication.react */ \"./src/Authentication.react.js\");\n\nvar _Authentication2 = _interopRequireDefault(_Authentication);\n\nvar _APIController = __webpack_require__(/*! ./APIController.react */ \"./src/APIController.react.js\");\n\nvar _APIController2 = _interopRequireDefault(_APIController);\n\nvar _DocumentTitle = __webpack_require__(/*! ./components/core/DocumentTitle.react */ \"./src/components/core/DocumentTitle.react.js\");\n\nvar _DocumentTitle2 = _interopRequireDefault(_DocumentTitle);\n\nvar _Loading = __webpack_require__(/*! ./components/core/Loading.react */ \"./src/components/core/Loading.react.js\");\n\nvar _Loading2 = _interopRequireDefault(_Loading);\n\nvar _Toolbar = __webpack_require__(/*! ./components/core/Toolbar.react */ \"./src/components/core/Toolbar.react.js\");\n\nvar _Toolbar2 = _interopRequireDefault(_Toolbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction UnconnectedAppContainer() {\n return _react2.default.createElement(\n _Authentication2.default,\n null,\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_Toolbar2.default, null),\n _react2.default.createElement(_APIController2.default, null),\n _react2.default.createElement(_DocumentTitle2.default, null),\n _react2.default.createElement(_Loading2.default, null)\n )\n );\n}\n\nvar AppContainer = (0, _reactRedux.connect)(function (state) {\n return {\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedAppContainer);\n\nexports.default = AppContainer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FwcENvbnRhaW5lci5yZWFjdC5qcz9lOTJlIl0sIm5hbWVzIjpbIlVuY29ubmVjdGVkQXBwQ29udGFpbmVyIiwiQXBwQ29udGFpbmVyIiwiaGlzdG9yeSIsInN0YXRlIiwiZGlzcGF0Y2giXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsU0FBU0EsdUJBQVQsR0FBbUM7QUFDL0IsV0FDSTtBQUFDLGdDQUFEO0FBQUE7QUFDSTtBQUFBO0FBQUE7QUFDSSwwQ0FBQyxpQkFBRCxPQURKO0FBRUksMENBQUMsdUJBQUQsT0FGSjtBQUdJLDBDQUFDLHVCQUFELE9BSEo7QUFJSSwwQ0FBQyxpQkFBRDtBQUpKO0FBREosS0FESjtBQVVIOztBQUVELElBQU1DLGVBQWUseUJBQ2pCO0FBQUEsV0FBVTtBQUNOQyxpQkFBU0MsTUFBTUQ7QUFEVCxLQUFWO0FBQUEsQ0FEaUIsRUFJakI7QUFBQSxXQUFhLEVBQUNFLGtCQUFELEVBQWI7QUFBQSxDQUppQixFQUtuQkosdUJBTG1CLENBQXJCOztrQkFPZUMsWSIsImZpbGUiOiIuL3NyYy9BcHBDb250YWluZXIucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Nvbm5lY3R9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQXV0aGVudGljYXRpb24gZnJvbSAnLi9BdXRoZW50aWNhdGlvbi5yZWFjdCc7XG5pbXBvcnQgQVBJQ29udHJvbGxlciBmcm9tICcuL0FQSUNvbnRyb2xsZXIucmVhY3QnO1xuaW1wb3J0IERvY3VtZW50VGl0bGUgZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvRG9jdW1lbnRUaXRsZS5yZWFjdCc7XG5pbXBvcnQgTG9hZGluZyBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9Mb2FkaW5nLnJlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4vY29tcG9uZW50cy9jb3JlL1Rvb2xiYXIucmVhY3QnO1xuXG5mdW5jdGlvbiBVbmNvbm5lY3RlZEFwcENvbnRhaW5lcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8QXV0aGVudGljYXRpb24+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxUb29sYmFyIC8+XG4gICAgICAgICAgICAgICAgPEFQSUNvbnRyb2xsZXIgLz5cbiAgICAgICAgICAgICAgICA8RG9jdW1lbnRUaXRsZSAvPlxuICAgICAgICAgICAgICAgIDxMb2FkaW5nIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9BdXRoZW50aWNhdGlvbj5cbiAgICApO1xufVxuXG5jb25zdCBBcHBDb250YWluZXIgPSBjb25uZWN0KFxuICAgIHN0YXRlID0+ICh7XG4gICAgICAgIGhpc3Rvcnk6IHN0YXRlLmhpc3RvcnksXG4gICAgfSksXG4gICAgZGlzcGF0Y2ggPT4gKHtkaXNwYXRjaH0pXG4pKFVuY29ubmVjdGVkQXBwQ29udGFpbmVyKTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29udGFpbmVyO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/AppContainer.react.js\n"); /***/ }), @@ -5222,7 +5186,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar Provider = _reactRedux.Provider;\n\nvar _store = __webpack_require__(/*! ./store */ \"./src/store.js\");\n\nvar initializeStore = _interopRequireDefault(_store).default;\n\nvar _AppContainer = __webpack_require__(/*! ./AppContainer.react */ \"./src/AppContainer.react.js\");\n\nvar AppContainer = _interopRequireDefault(_AppContainer).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar store = initializeStore();\n\nvar AppProvider = function AppProvider() {\n return React.createElement(\n Provider,\n { store: store },\n React.createElement(AppContainer, null)\n );\n};\n\nexports.default = AppProvider;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FwcFByb3ZpZGVyLnJlYWN0LmpzP2YxNjkiXSwibmFtZXMiOlsiUmVhY3QiLCJQcm92aWRlciIsImluaXRpYWxpemVTdG9yZSIsIkFwcENvbnRhaW5lciIsInN0b3JlIiwiQXBwUHJvdmlkZXIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztJQUFPQSxLOztBQUNQOztJQUFRQyxRLGVBQUFBLFE7O0FBRVI7O0lBQU9DLGU7O0FBQ1A7O0lBQU9DLFk7Ozs7QUFFUCxJQUFNQyxRQUFRRixpQkFBZDs7QUFFQSxJQUFNRyxjQUFjLFNBQWRBLFdBQWM7QUFBQSxXQUNoQjtBQUFDLGdCQUFEO0FBQUEsVUFBVSxPQUFPRCxLQUFqQjtBQUNJLDRCQUFDLFlBQUQ7QUFESixLQURnQjtBQUFBLENBQXBCOztrQkFNZUMsVyIsImZpbGUiOiIuL3NyYy9BcHBQcm92aWRlci5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5cclxuaW1wb3J0IGluaXRpYWxpemVTdG9yZSBmcm9tICcuL3N0b3JlJztcclxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuL0FwcENvbnRhaW5lci5yZWFjdCc7XHJcblxyXG5jb25zdCBzdG9yZSA9IGluaXRpYWxpemVTdG9yZSgpO1xyXG5cclxuY29uc3QgQXBwUHJvdmlkZXIgPSAoKSA9PiAoXHJcbiAgICA8UHJvdmlkZXIgc3RvcmU9e3N0b3JlfT5cclxuICAgICAgICA8QXBwQ29udGFpbmVyLz5cclxuICAgIDwvUHJvdmlkZXI+XHJcbik7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBBcHBQcm92aWRlcjtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/AppProvider.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _store = __webpack_require__(/*! ./store */ \"./src/store.js\");\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _AppContainer = __webpack_require__(/*! ./AppContainer.react */ \"./src/AppContainer.react.js\");\n\nvar _AppContainer2 = _interopRequireDefault(_AppContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar store = (0, _store2.default)();\n\nvar AppProvider = function AppProvider() {\n return _react2.default.createElement(\n _reactRedux.Provider,\n { store: store },\n _react2.default.createElement(_AppContainer2.default, null)\n );\n};\n\nexports.default = AppProvider;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0FwcFByb3ZpZGVyLnJlYWN0LmpzP2YxNjkiXSwibmFtZXMiOlsic3RvcmUiLCJBcHBQcm92aWRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7QUFDQTs7QUFFQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxRQUFRLHNCQUFkOztBQUVBLElBQU1DLGNBQWMsU0FBZEEsV0FBYztBQUFBLFdBQ2hCO0FBQUMsNEJBQUQ7QUFBQSxVQUFVLE9BQU9ELEtBQWpCO0FBQ0ksc0NBQUMsc0JBQUQ7QUFESixLQURnQjtBQUFBLENBQXBCOztrQkFNZUMsVyIsImZpbGUiOiIuL3NyYy9BcHBQcm92aWRlci5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBpbml0aWFsaXplU3RvcmUgZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4vQXBwQ29udGFpbmVyLnJlYWN0JztcblxuY29uc3Qgc3RvcmUgPSBpbml0aWFsaXplU3RvcmUoKTtcblxuY29uc3QgQXBwUHJvdmlkZXIgPSAoKSA9PiAoXG4gICAgPFByb3ZpZGVyIHN0b3JlPXtzdG9yZX0+XG4gICAgICAgIDxBcHBDb250YWluZXIgLz5cbiAgICA8L1Byb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwUHJvdmlkZXI7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/AppProvider.react.js\n"); /***/ }), @@ -5234,7 +5198,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar Component = _react.Component;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _queryString = __webpack_require__(/*! query-string */ \"./node_modules/query-string/index.js\");\n\nvar queryString = _interopRequireDefault(_queryString).default;\n\nvar _api = __webpack_require__(/*! ./actions/api */ \"./src/actions/api.js\");\n\nvar login = _api.login;\n\nvar _index = __webpack_require__(/*! ./actions/index */ \"./src/actions/index.js\");\n\nvar readConfig = _index.readConfig;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar contains = _ramda.contains;\nvar isEmpty = _ramda.isEmpty;\nvar merge = _ramda.merge;\nvar type = _ramda.type;\n\nvar _styles = __webpack_require__(/*! ./styles/styles.js */ \"./src/styles/styles.js\");\n\nvar styles = _interopRequireWildcard(_styles);\n\nvar _constants = __webpack_require__(/*! ./constants/constants */ \"./src/constants/constants.js\");\n\nvar REDIRECT_URI_PATHNAME = _constants.REDIRECT_URI_PATHNAME;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* global window:true, document:true */\n\n\n// http://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen\nvar PopupCenter = function PopupCenter(url, title, w, h) {\n // Fixes dual-screen position\n var screenLeft = window.screenLeft;\n var screenTop = window.screenTop;\n\n var width = window.innerWidth;\n var height = window.innerHeight;\n\n var left = width / 2 - w / 2 + screenLeft;\n var top = height / 2 - h / 2 + screenTop;\n var popupWindow = window.open(url, title, 'scrollbars=yes,width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\n return popupWindow;\n};\n\n/**\r\n * Login displays an interface that guides the user through an oauth flow.\r\n * - Clicking on a login button will launch a new window with the plot.ly\r\n * oauth url\r\n * - plot.ly will redirect that window to defined redirect URL when complete\r\n * - The component will render the oauth redirect page\r\n * - When the window is closed, will call its\r\n * `onClosed` prop\r\n */\n\nvar UnconnectedLogin = function (_Component) {\n _inherits(UnconnectedLogin, _Component);\n\n function UnconnectedLogin(props) {\n _classCallCheck(this, UnconnectedLogin);\n\n var _this = _possibleConstructorReturn(this, (UnconnectedLogin.__proto__ || Object.getPrototypeOf(UnconnectedLogin)).call(this, props));\n\n _this.buildOauthUrl = _this.buildOauthUrl.bind(_this);\n _this.oauthPopUp = _this.oauthPopUp.bind(_this);\n return _this;\n }\n\n _createClass(UnconnectedLogin, [{\n key: 'buildOauthUrl',\n value: function buildOauthUrl() {\n var _props$config = this.props.config,\n oauth_client_id = _props$config.oauth_client_id,\n plotly_domain = _props$config.plotly_domain;\n\n return plotly_domain + '/o/authorize/?response_type=token&' + ('client_id=' + oauth_client_id + '&') + ('redirect_uri=' + window.location.origin + REDIRECT_URI_PATHNAME);\n }\n }, {\n key: 'oauthPopUp',\n value: function oauthPopUp() {\n var _this2 = this;\n\n var popupWindow = PopupCenter(this.buildOauthUrl(), 'Authorization', '500', '500');\n if (window.focus) {\n popupWindow.focus();\n }\n window.popupWindow = popupWindow;\n var interval = setInterval(function () {\n if (popupWindow.closed) {\n _this2.props.onClosed();\n clearInterval(interval);\n }\n }, 100);\n }\n }, {\n key: 'render',\n value: function render() {\n var plotly_domain = this.props.config.plotly_domain;\n\n return React.createElement(\n 'div',\n { style: merge(styles.base.html, styles.base.container) },\n React.createElement(\n 'div',\n { style: styles.base.h2 },\n 'Dash'\n ),\n React.createElement(\n 'div',\n { style: styles.base.h4 },\n 'Log in to Plotly to continue'\n ),\n React.createElement(\n 'button',\n { style: styles.base.button, onClick: this.oauthPopUp },\n 'Log in'\n ),\n React.createElement(\n 'div',\n { style: styles.base.caption },\n React.createElement(\n 'span',\n null,\n 'This dash app requires a plotly login to view.\\n Don\\'t have an account yet?'\n ),\n React.createElement(\n 'a',\n { style: styles.base.a,\n href: plotly_domain + '/accounts/login/?action=signup' },\n ' Create an account '\n ),\n React.createElement(\n 'span',\n null,\n ' (it\\'s free)\\n and then request access from the owner of this app.'\n )\n )\n );\n }\n }]);\n\n return UnconnectedLogin;\n}(Component);\n\nUnconnectedLogin.propTypes = {\n onClosed: PropTypes.func,\n config: PropTypes.object\n};\nvar Login = connect(function (state) {\n return { config: state.config };\n})(UnconnectedLogin);\n\n/**\r\n * OAuth redirect component\r\n * - Looks for an oauth token in the URL as provided by the plot.ly redirect\r\n * - Make an API call to dash with that oauth token\r\n * - In response, Dash will set the oauth token as a cookie\r\n * if it is valid\r\n * Parent is component is responsible for rendering\r\n * this component in the appropriate context\r\n * (the URL redirect)\r\n */\n\nvar UnconnectedOauthRedirect = function (_Component2) {\n _inherits(UnconnectedOauthRedirect, _Component2);\n\n function UnconnectedOauthRedirect(props) {\n _classCallCheck(this, UnconnectedOauthRedirect);\n\n return _possibleConstructorReturn(this, (UnconnectedOauthRedirect.__proto__ || Object.getPrototypeOf(UnconnectedOauthRedirect)).call(this, props));\n }\n\n _createClass(UnconnectedOauthRedirect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var params = queryString.parse(window.location.hash);\n var access_token = params.access_token;\n var dispatch = this.props.dispatch;\n\n dispatch(login(access_token));\n }\n }, {\n key: 'render',\n value: function render() {\n var loginRequest = this.props.loginRequest;\n\n var content = void 0;\n if (isEmpty(loginRequest) || loginRequest.status === 'loading') {\n\n content = React.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n } else if (loginRequest.status === 200) {\n\n window.close();\n } else {\n\n content = React.createElement(\n 'div',\n null,\n React.createElement(\n 'h3',\n null,\n 'Yikes! An error occurred trying to log in.'\n ),\n loginRequest.content ? React.createElement(\n 'pre',\n null,\n JSON.stringify(loginRequest.content)\n ) : null\n );\n }\n return React.createElement(\n 'div',\n null,\n content\n );\n }\n }]);\n\n return UnconnectedOauthRedirect;\n}(Component);\n\nUnconnectedOauthRedirect.propTypes = {\n loginRequest: PropTypes.object,\n login: PropTypes.func,\n dispatch: PropTypes.func\n};\nvar OauthRedirect = connect(function (state) {\n return { loginRequest: state.loginRequest };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedOauthRedirect);\n\n/**\r\n * Authentication component renders the children if the user is\r\n * logged in or doesn't need to login.\r\n * Otherwise, it renders an interface that allows a user to log in.\r\n *\r\n * Log in is checked through the presence of an oauth token as a cookie.\r\n * Log in is only required for apps that have a `fid` in the `config`\r\n * API response\r\n *\r\n * Note that a user that is logged in does not necessarily have have\r\n * view access to the app.\r\n *\r\n * This component also renders the OAuth redirect URL\r\n */\n\nvar Authentication = function (_Component3) {\n _inherits(Authentication, _Component3);\n\n function Authentication(props) {\n _classCallCheck(this, Authentication);\n\n var _this4 = _possibleConstructorReturn(this, (Authentication.__proto__ || Object.getPrototypeOf(Authentication)).call(this, props));\n\n _this4.state = {\n oauth_flow_counter: 0\n };\n return _this4;\n }\n\n _createClass(Authentication, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.initialization(this.props);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n this.initialization(props);\n }\n }, {\n key: 'initialization',\n value: function initialization(props) {\n var config = props.config,\n dispatch = props.dispatch;\n\n if (type(config) === \"Null\") {\n dispatch(readConfig());\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this5 = this;\n\n var _props = this.props,\n children = _props.children,\n config = _props.config;\n\n // OAuth redirect\n\n if (window.location.pathname === REDIRECT_URI_PATHNAME) {\n return React.createElement(OauthRedirect, null);\n }\n\n if (type(config) === \"Null\") {\n\n return React.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n } else if (config.fid) {\n\n if (contains('plotly_oauth_token=', document.cookie)) {\n\n return children;\n } else {\n\n // Set oauth token cookie through an oauth flow\n return React.createElement(Login, { onClosed: function onClosed() {\n return _this5.setState({\n oauth_flow_counter: _this5.state.oauth_flow_counter + 1\n });\n } });\n }\n } else {\n\n return children;\n }\n }\n }]);\n\n return Authentication;\n}(Component);\n\nAuthentication.propTypes = {\n children: PropTypes.object,\n config: PropTypes.object\n};\n\nexports.default = connect(function (state) {\n return {\n config: state.config\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(Authentication);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0F1dGhlbnRpY2F0aW9uLnJlYWN0LmpzPzJlMzAiXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJjb25uZWN0IiwicXVlcnlTdHJpbmciLCJsb2dpbiIsInJlYWRDb25maWciLCJjb250YWlucyIsImlzRW1wdHkiLCJtZXJnZSIsInR5cGUiLCJzdHlsZXMiLCJSRURJUkVDVF9VUklfUEFUSE5BTUUiLCJQb3B1cENlbnRlciIsInVybCIsInRpdGxlIiwidyIsImgiLCJzY3JlZW5MZWZ0Iiwid2luZG93Iiwic2NyZWVuVG9wIiwid2lkdGgiLCJpbm5lcldpZHRoIiwiaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJsZWZ0IiwidG9wIiwicG9wdXBXaW5kb3ciLCJvcGVuIiwiVW5jb25uZWN0ZWRMb2dpbiIsInByb3BzIiwiYnVpbGRPYXV0aFVybCIsImJpbmQiLCJvYXV0aFBvcFVwIiwiY29uZmlnIiwib2F1dGhfY2xpZW50X2lkIiwicGxvdGx5X2RvbWFpbiIsImxvY2F0aW9uIiwib3JpZ2luIiwiZm9jdXMiLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwiY2xvc2VkIiwib25DbG9zZWQiLCJjbGVhckludGVydmFsIiwiYmFzZSIsImh0bWwiLCJjb250YWluZXIiLCJoMiIsImg0IiwiYnV0dG9uIiwiY2FwdGlvbiIsImEiLCJwcm9wVHlwZXMiLCJmdW5jIiwib2JqZWN0IiwiTG9naW4iLCJzdGF0ZSIsIlVuY29ubmVjdGVkT2F1dGhSZWRpcmVjdCIsInBhcmFtcyIsInBhcnNlIiwiaGFzaCIsImFjY2Vzc190b2tlbiIsImRpc3BhdGNoIiwibG9naW5SZXF1ZXN0IiwiY29udGVudCIsInN0YXR1cyIsImNsb3NlIiwiSlNPTiIsInN0cmluZ2lmeSIsIk9hdXRoUmVkaXJlY3QiLCJBdXRoZW50aWNhdGlvbiIsIm9hdXRoX2Zsb3dfY291bnRlciIsImluaXRpYWxpemF0aW9uIiwiY2hpbGRyZW4iLCJwYXRobmFtZSIsImZpZCIsImRvY3VtZW50IiwiY29va2llIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0E7O0lBQU9BLEs7O0lBQVFDLFMsVUFBQUEsUzs7QUFDZjs7SUFBT0MsUzs7QUFDUDs7SUFBUUMsTyxlQUFBQSxPOztBQUNSOztJQUFPQyxXOztBQUNQOztJQUFRQyxLLFFBQUFBLEs7O0FBQ1I7O0lBQVFDLFUsVUFBQUEsVTs7QUFDUjs7SUFBUUMsUSxVQUFBQSxRO0lBQVVDLE8sVUFBQUEsTztJQUFTQyxLLFVBQUFBLEs7SUFBT0MsSSxVQUFBQSxJOztBQUNsQzs7SUFBWUMsTTs7QUFDWjs7SUFBUUMscUIsY0FBQUEscUI7Ozs7Ozs7Ozs7K2VBVFI7OztBQVdBO0FBQ0EsSUFBTUMsY0FBYyxTQUFkQSxXQUFjLENBQUNDLEdBQUQsRUFBTUMsS0FBTixFQUFhQyxDQUFiLEVBQWdCQyxDQUFoQixFQUFzQjtBQUN0QztBQUNBLFFBQU1DLGFBQWFDLE9BQU9ELFVBQTFCO0FBQ0EsUUFBTUUsWUFBWUQsT0FBT0MsU0FBekI7O0FBRUEsUUFBTUMsUUFBUUYsT0FBT0csVUFBckI7QUFDQSxRQUFNQyxTQUFTSixPQUFPSyxXQUF0Qjs7QUFFQSxRQUFNQyxPQUFTSixRQUFRLENBQVQsR0FBZUwsSUFBSSxDQUFwQixHQUEwQkUsVUFBdkM7QUFDQSxRQUFNUSxNQUFRSCxTQUFTLENBQVYsR0FBZ0JOLElBQUksQ0FBckIsR0FBMkJHLFNBQXZDO0FBQ0EsUUFBTU8sY0FBY1IsT0FBT1MsSUFBUCxDQUNoQmQsR0FEZ0IsRUFDWEMsS0FEVyxFQUVmLDBCQUEwQkMsQ0FBMUIsR0FDQSxXQURBLEdBQ2NDLENBRGQsR0FDa0IsUUFEbEIsR0FDNkJTLEdBRDdCLEdBRUEsU0FGQSxHQUVZRCxJQUpHLENBQXBCO0FBTUEsV0FBT0UsV0FBUDtBQUNILENBakJEOztBQW1CQTs7Ozs7Ozs7OztJQVNNRSxnQjs7O0FBQ0YsOEJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSx3SUFDVEEsS0FEUzs7QUFFZixjQUFLQyxhQUFMLEdBQXFCLE1BQUtBLGFBQUwsQ0FBbUJDLElBQW5CLE9BQXJCO0FBQ0EsY0FBS0MsVUFBTCxHQUFrQixNQUFLQSxVQUFMLENBQWdCRCxJQUFoQixPQUFsQjtBQUhlO0FBSWxCOzs7O3dDQUVlO0FBQUEsZ0NBRVIsS0FBS0YsS0FBTCxDQUFXSSxNQUZIO0FBQUEsZ0JBQ0xDLGVBREssaUJBQ0xBLGVBREs7QUFBQSxnQkFDWUMsYUFEWixpQkFDWUEsYUFEWjs7QUFJWixtQkFDT0EsYUFBSCwwREFDYUQsZUFEYiw2QkFFZ0JoQixPQUFPa0IsUUFBUCxDQUFnQkMsTUFGaEMsR0FFeUMxQixxQkFGekMsQ0FESjtBQUtIOzs7cUNBRVk7QUFBQTs7QUFDVCxnQkFBTWUsY0FBY2QsWUFDaEIsS0FBS2tCLGFBQUwsRUFEZ0IsRUFDTSxlQUROLEVBQ3VCLEtBRHZCLEVBQzhCLEtBRDlCLENBQXBCO0FBR0EsZ0JBQUlaLE9BQU9vQixLQUFYLEVBQWtCO0FBQ2RaLDRCQUFZWSxLQUFaO0FBQ0g7QUFDRHBCLG1CQUFPUSxXQUFQLEdBQXFCQSxXQUFyQjtBQUNBLGdCQUFNYSxXQUFXQyxZQUFZLFlBQU07QUFDL0Isb0JBQUdkLFlBQVllLE1BQWYsRUFBdUI7QUFDbkIsMkJBQUtaLEtBQUwsQ0FBV2EsUUFBWDtBQUNBQyxrQ0FBY0osUUFBZDtBQUNIO0FBQ0osYUFMZ0IsRUFLZCxHQUxjLENBQWpCO0FBTUg7OztpQ0FFUTtBQUFBLGdCQUNFSixhQURGLEdBQ21CLEtBQUtOLEtBQUwsQ0FBV0ksTUFEOUIsQ0FDRUUsYUFERjs7QUFFTCxtQkFDSTtBQUFBO0FBQUEsa0JBQUssT0FBTzNCLE1BQU1FLE9BQU9rQyxJQUFQLENBQVlDLElBQWxCLEVBQXdCbkMsT0FBT2tDLElBQVAsQ0FBWUUsU0FBcEMsQ0FBWjtBQUNJO0FBQUE7QUFBQSxzQkFBSyxPQUFPcEMsT0FBT2tDLElBQVAsQ0FBWUcsRUFBeEI7QUFBQTtBQUFBLGlCQURKO0FBR0k7QUFBQTtBQUFBLHNCQUFLLE9BQU9yQyxPQUFPa0MsSUFBUCxDQUFZSSxFQUF4QjtBQUNLO0FBREwsaUJBSEo7QUFPSTtBQUFBO0FBQUEsc0JBQVEsT0FBT3RDLE9BQU9rQyxJQUFQLENBQVlLLE1BQTNCLEVBQW1DLFNBQVMsS0FBS2pCLFVBQWpEO0FBQ0s7QUFETCxpQkFQSjtBQVdJO0FBQUE7QUFBQSxzQkFBSyxPQUFPdEIsT0FBT2tDLElBQVAsQ0FBWU0sT0FBeEI7QUFDSTtBQUFBO0FBQUE7QUFBQTtBQUFBLHFCQURKO0FBS0k7QUFBQTtBQUFBLDBCQUFHLE9BQU94QyxPQUFPa0MsSUFBUCxDQUFZTyxDQUF0QjtBQUNHLGtDQUFTaEIsYUFBVCxtQ0FESDtBQUVLO0FBRkwscUJBTEo7QUFTSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVEo7QUFYSixhQURKO0FBNEJIOzs7O0VBaEUwQm5DLFM7O0FBa0UvQjRCLGlCQUFpQndCLFNBQWpCLEdBQTZCO0FBQ3pCVixjQUFVekMsVUFBVW9ELElBREs7QUFFekJwQixZQUFRaEMsVUFBVXFEO0FBRk8sQ0FBN0I7QUFJQSxJQUFNQyxRQUFRckQsUUFDVjtBQUFBLFdBQVUsRUFBQytCLFFBQVF1QixNQUFNdkIsTUFBZixFQUFWO0FBQUEsQ0FEVSxFQUVaTCxnQkFGWSxDQUFkOztBQUlBOzs7Ozs7Ozs7OztJQVVNNkIsd0I7OztBQUNGLHNDQUFZNUIsS0FBWixFQUFtQjtBQUFBOztBQUFBLG1KQUNUQSxLQURTO0FBRWxCOzs7OzRDQUVtQjtBQUNoQixnQkFBTTZCLFNBQVN2RCxZQUFZd0QsS0FBWixDQUFrQnpDLE9BQU9rQixRQUFQLENBQWdCd0IsSUFBbEMsQ0FBZjtBQURnQixnQkFFVEMsWUFGUyxHQUVPSCxNQUZQLENBRVRHLFlBRlM7QUFBQSxnQkFHVEMsUUFIUyxHQUdHLEtBQUtqQyxLQUhSLENBR1RpQyxRQUhTOztBQUloQkEscUJBQVMxRCxNQUFNeUQsWUFBTixDQUFUO0FBQ0g7OztpQ0FFUTtBQUFBLGdCQUNFRSxZQURGLEdBQ2tCLEtBQUtsQyxLQUR2QixDQUNFa0MsWUFERjs7QUFFTCxnQkFBSUMsZ0JBQUo7QUFDQSxnQkFBSXpELFFBQVF3RCxZQUFSLEtBQXlCQSxhQUFhRSxNQUFiLEtBQXdCLFNBQXJELEVBQWdFOztBQUU1REQsMEJBQVU7QUFBQTtBQUFBLHNCQUFLLFdBQVUsZUFBZjtBQUFBO0FBQUEsaUJBQVY7QUFFSCxhQUpELE1BSU8sSUFBSUQsYUFBYUUsTUFBYixLQUF3QixHQUE1QixFQUFpQzs7QUFFcEMvQyx1QkFBT2dELEtBQVA7QUFFSCxhQUpNLE1BSUE7O0FBRUhGLDBCQUNJO0FBQUE7QUFBQTtBQUNJO0FBQUE7QUFBQTtBQUFLO0FBQUwscUJBREo7QUFHUUQsaUNBQWFDLE9BQWIsR0FDQTtBQUFBO0FBQUE7QUFBTUcsNkJBQUtDLFNBQUwsQ0FBZUwsYUFBYUMsT0FBNUI7QUFBTixxQkFEQSxHQUVBO0FBTFIsaUJBREo7QUFXSDtBQUNELG1CQUNJO0FBQUE7QUFBQTtBQUNLQTtBQURMLGFBREo7QUFLSDs7OztFQTFDa0NoRSxTOztBQTRDdkN5RCx5QkFBeUJMLFNBQXpCLEdBQXFDO0FBQ2pDVyxrQkFBYzlELFVBQVVxRCxNQURTO0FBRWpDbEQsV0FBT0gsVUFBVW9ELElBRmdCO0FBR2pDUyxjQUFVN0QsVUFBVW9EO0FBSGEsQ0FBckM7QUFLQSxJQUFNZ0IsZ0JBQWdCbkUsUUFDbEI7QUFBQSxXQUFVLEVBQUM2RCxjQUFjUCxNQUFNTyxZQUFyQixFQUFWO0FBQUEsQ0FEa0IsRUFFbEI7QUFBQSxXQUFhLEVBQUNELGtCQUFELEVBQWI7QUFBQSxDQUZrQixFQUdwQkwsd0JBSG9CLENBQXRCOztBQUtBOzs7Ozs7Ozs7Ozs7Ozs7SUFjTWEsYzs7O0FBQ0YsNEJBQVl6QyxLQUFaLEVBQW1CO0FBQUE7O0FBQUEscUlBQ1RBLEtBRFM7O0FBRWYsZUFBSzJCLEtBQUwsR0FBYTtBQUNUZSxnQ0FBb0I7QUFEWCxTQUFiO0FBRmU7QUFLbEI7Ozs7NENBRW1CO0FBQ2hCLGlCQUFLQyxjQUFMLENBQW9CLEtBQUszQyxLQUF6QjtBQUNIOzs7a0RBRXlCQSxLLEVBQU87QUFDN0IsaUJBQUsyQyxjQUFMLENBQW9CM0MsS0FBcEI7QUFDSDs7O3VDQUVjQSxLLEVBQU87QUFBQSxnQkFDWEksTUFEVyxHQUNTSixLQURULENBQ1hJLE1BRFc7QUFBQSxnQkFDSDZCLFFBREcsR0FDU2pDLEtBRFQsQ0FDSGlDLFFBREc7O0FBRWxCLGdCQUFJckQsS0FBS3dCLE1BQUwsTUFBaUIsTUFBckIsRUFBNkI7QUFDekI2Qix5QkFBU3pELFlBQVQ7QUFDSDtBQUNKOzs7aUNBRVE7QUFBQTs7QUFBQSx5QkFFc0IsS0FBS3dCLEtBRjNCO0FBQUEsZ0JBRUU0QyxRQUZGLFVBRUVBLFFBRkY7QUFBQSxnQkFFWXhDLE1BRlosVUFFWUEsTUFGWjs7QUFJTDs7QUFDQSxnQkFBSWYsT0FBT2tCLFFBQVAsQ0FBZ0JzQyxRQUFoQixLQUE2Qi9ELHFCQUFqQyxFQUF3RDtBQUNwRCx1QkFDSSxvQkFBQyxhQUFELE9BREo7QUFHSDs7QUFFRCxnQkFBSUYsS0FBS3dCLE1BQUwsTUFBaUIsTUFBckIsRUFBNkI7O0FBRXpCLHVCQUFPO0FBQUE7QUFBQSxzQkFBSyxXQUFVLGVBQWY7QUFBQTtBQUFBLGlCQUFQO0FBRUgsYUFKRCxNQU1LLElBQUlBLE9BQU8wQyxHQUFYLEVBQWdCOztBQUVqQixvQkFBSXJFLFNBQVMscUJBQVQsRUFBZ0NzRSxTQUFTQyxNQUF6QyxDQUFKLEVBQXNEOztBQUVsRCwyQkFBT0osUUFBUDtBQUVILGlCQUpELE1BTUs7O0FBRUQ7QUFDQSwyQkFDSSxvQkFBQyxLQUFELElBQU8sVUFDSDtBQUFBLG1DQUFNLE9BQUtLLFFBQUwsQ0FBYztBQUNoQlAsb0RBQ0EsT0FBS2YsS0FBTCxDQUFXZSxrQkFBWCxHQUFnQztBQUZoQiw2QkFBZCxDQUFOO0FBQUEseUJBREosR0FESjtBQVNIO0FBQ0osYUFyQkksTUF1QkE7O0FBRUQsdUJBQU9FLFFBQVA7QUFFSDtBQUNKOzs7O0VBcEV3QnpFLFM7O0FBdUU3QnNFLGVBQWVsQixTQUFmLEdBQTJCO0FBQ3ZCcUIsY0FBVXhFLFVBQVVxRCxNQURHO0FBRXZCckIsWUFBUWhDLFVBQVVxRDtBQUZLLENBQTNCOztrQkFLZXBELFFBQ1g7QUFBQSxXQUFVO0FBQ04rQixnQkFBUXVCLE1BQU12QjtBQURSLEtBQVY7QUFBQSxDQURXLEVBSVg7QUFBQSxXQUFhLEVBQUM2QixrQkFBRCxFQUFiO0FBQUEsQ0FKVyxFQUtiUSxjQUxhLEMiLCJmaWxlIjoiLi9zcmMvQXV0aGVudGljYXRpb24ucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd2luZG93OnRydWUsIGRvY3VtZW50OnRydWUgKi9cclxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XHJcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxdWVyeS1zdHJpbmcnO1xyXG5pbXBvcnQge2xvZ2lufSBmcm9tICcuL2FjdGlvbnMvYXBpJztcclxuaW1wb3J0IHtyZWFkQ29uZmlnfSBmcm9tICcuL2FjdGlvbnMvaW5kZXgnO1xyXG5pbXBvcnQge2NvbnRhaW5zLCBpc0VtcHR5LCBtZXJnZSwgdHlwZX0gZnJvbSAncmFtZGEnXHJcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcy9zdHlsZXMuanMnO1xyXG5pbXBvcnQge1JFRElSRUNUX1VSSV9QQVRITkFNRX0gZnJvbSAnLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuXHJcbi8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA2ODM3My9jZW50ZXItYS1wb3B1cC13aW5kb3ctb24tc2NyZWVuXHJcbmNvbnN0IFBvcHVwQ2VudGVyID0gKHVybCwgdGl0bGUsIHcsIGgpID0+IHtcclxuICAgIC8vIEZpeGVzIGR1YWwtc2NyZWVuIHBvc2l0aW9uXHJcbiAgICBjb25zdCBzY3JlZW5MZWZ0ID0gd2luZG93LnNjcmVlbkxlZnQ7XHJcbiAgICBjb25zdCBzY3JlZW5Ub3AgPSB3aW5kb3cuc2NyZWVuVG9wO1xyXG5cclxuICAgIGNvbnN0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblxyXG4gICAgY29uc3QgbGVmdCA9ICgod2lkdGggLyAyKSAtICh3IC8gMikpICsgc2NyZWVuTGVmdDtcclxuICAgIGNvbnN0IHRvcCA9ICgoaGVpZ2h0IC8gMikgLSAoaCAvIDIpKSArIHNjcmVlblRvcDtcclxuICAgIGNvbnN0IHBvcHVwV2luZG93ID0gd2luZG93Lm9wZW4oXHJcbiAgICAgICAgdXJsLCB0aXRsZSxcclxuICAgICAgICAoJ3Njcm9sbGJhcnM9eWVzLHdpZHRoPScgKyB3ICtcclxuICAgICAgICAgJywgaGVpZ2h0PScgKyBoICsgJywgdG9wPScgKyB0b3AgK1xyXG4gICAgICAgICAnLCBsZWZ0PScgKyBsZWZ0KVxyXG4gICAgKTtcclxuICAgIHJldHVybiBwb3B1cFdpbmRvdztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBMb2dpbiBkaXNwbGF5cyBhbiBpbnRlcmZhY2UgdGhhdCBndWlkZXMgdGhlIHVzZXIgdGhyb3VnaCBhbiBvYXV0aCBmbG93LlxyXG4gKiAtIENsaWNraW5nIG9uIGEgbG9naW4gYnV0dG9uIHdpbGwgbGF1bmNoIGEgbmV3IHdpbmRvdyB3aXRoIHRoZSBwbG90Lmx5XHJcbiAqICAgb2F1dGggdXJsXHJcbiAqIC0gcGxvdC5seSB3aWxsIHJlZGlyZWN0IHRoYXQgd2luZG93IHRvIGRlZmluZWQgcmVkaXJlY3QgVVJMIHdoZW4gY29tcGxldGVcclxuICogLSBUaGUgPE9hdXRoUmVkaXJlY3QvPiBjb21wb25lbnQgd2lsbCByZW5kZXIgdGhlIG9hdXRoIHJlZGlyZWN0IHBhZ2VcclxuICogLSBXaGVuIHRoZSA8T2F1dGhSZWRpcmVjdC8+IHdpbmRvdyBpcyBjbG9zZWQsIDxMb2dpbi8+IHdpbGwgY2FsbCBpdHNcclxuICogICBgb25DbG9zZWRgIHByb3BcclxuICovXHJcbmNsYXNzIFVuY29ubmVjdGVkTG9naW4gZXh0ZW5kcyBDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5idWlsZE9hdXRoVXJsID0gdGhpcy5idWlsZE9hdXRoVXJsLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vYXV0aFBvcFVwID0gdGhpcy5vYXV0aFBvcFVwLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRPYXV0aFVybCgpIHtcclxuICAgICAgICBjb25zdCB7b2F1dGhfY2xpZW50X2lkLCBwbG90bHlfZG9tYWlufSA9IChcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jb25maWdcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGAke3Bsb3RseV9kb21haW59L28vYXV0aG9yaXplLz9yZXNwb25zZV90eXBlPXRva2VuJmAgK1xyXG4gICAgICAgICAgICBgY2xpZW50X2lkPSR7b2F1dGhfY2xpZW50X2lkfSZgICtcclxuICAgICAgICAgICAgYHJlZGlyZWN0X3VyaT0ke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHtSRURJUkVDVF9VUklfUEFUSE5BTUV9YFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb2F1dGhQb3BVcCgpIHtcclxuICAgICAgICBjb25zdCBwb3B1cFdpbmRvdyA9IFBvcHVwQ2VudGVyKFxyXG4gICAgICAgICAgICB0aGlzLmJ1aWxkT2F1dGhVcmwoKSwgJ0F1dGhvcml6YXRpb24nLCAnNTAwJywgJzUwMCdcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmICh3aW5kb3cuZm9jdXMpIHtcclxuICAgICAgICAgICAgcG9wdXBXaW5kb3cuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93LnBvcHVwV2luZG93ID0gcG9wdXBXaW5kb3c7XHJcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHBvcHVwV2luZG93LmNsb3NlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNsb3NlZCgpO1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7cGxvdGx5X2RvbWFpbn0gPSB0aGlzLnByb3BzLmNvbmZpZztcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXttZXJnZShzdHlsZXMuYmFzZS5odG1sLCBzdHlsZXMuYmFzZS5jb250YWluZXIpfT5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5iYXNlLmgyfT5EYXNoPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmJhc2UuaDR9PlxyXG4gICAgICAgICAgICAgICAgICAgIHsnTG9nIGluIHRvIFBsb3RseSB0byBjb250aW51ZSd9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHN0eWxlPXtzdHlsZXMuYmFzZS5idXR0b259IG9uQ2xpY2s9e3RoaXMub2F1dGhQb3BVcH0+XHJcbiAgICAgICAgICAgICAgICAgICAgeydMb2cgaW4nfVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmJhc2UuY2FwdGlvbn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtgVGhpcyBkYXNoIGFwcCByZXF1aXJlcyBhIHBsb3RseSBsb2dpbiB0byB2aWV3LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIERvbid0IGhhdmUgYW4gYWNjb3VudCB5ZXQ/YH1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9e3N0eWxlcy5iYXNlLmF9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YCR7cGxvdGx5X2RvbWFpbn0vYWNjb3VudHMvbG9naW4vP2FjdGlvbj1zaWdudXBgfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgeycgQ3JlYXRlIGFuIGFjY291bnQgJ31cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge2AgKGl0J3MgZnJlZSlcclxuICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGVuIHJlcXVlc3QgYWNjZXNzIGZyb20gdGhlIG93bmVyIG9mIHRoaXMgYXBwLmB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuVW5jb25uZWN0ZWRMb2dpbi5wcm9wVHlwZXMgPSB7XHJcbiAgICBvbkNsb3NlZDogUHJvcFR5cGVzLmZ1bmMsXHJcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3RcclxufVxyXG5jb25zdCBMb2dpbiA9IGNvbm5lY3QoXHJcbiAgICBzdGF0ZSA9PiAoe2NvbmZpZzogc3RhdGUuY29uZmlnfSlcclxuKShVbmNvbm5lY3RlZExvZ2luKTtcclxuXHJcbi8qKlxyXG4gKiBPQXV0aCByZWRpcmVjdCBjb21wb25lbnRcclxuICogLSBMb29rcyBmb3IgYW4gb2F1dGggdG9rZW4gaW4gdGhlIFVSTCBhcyBwcm92aWRlZCBieSB0aGUgcGxvdC5seSByZWRpcmVjdFxyXG4gKiAtIE1ha2UgYW4gQVBJIGNhbGwgdG8gZGFzaCB3aXRoIHRoYXQgb2F1dGggdG9rZW5cclxuICogLSBJbiByZXNwb25zZSwgRGFzaCB3aWxsIHNldCB0aGUgb2F1dGggdG9rZW4gYXMgYSBjb29raWVcclxuICogICBpZiBpdCBpcyB2YWxpZFxyXG4gKiBQYXJlbnQgaXMgY29tcG9uZW50IGlzIHJlc3BvbnNpYmxlIGZvciByZW5kZXJpbmdcclxuICogdGhpcyBjb21wb25lbnQgaW4gdGhlIGFwcHJvcHJpYXRlIGNvbnRleHRcclxuICogKHRoZSBVUkwgcmVkaXJlY3QpXHJcbiAqL1xyXG5jbGFzcyBVbmNvbm5lY3RlZE9hdXRoUmVkaXJlY3QgZXh0ZW5kcyBDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlTdHJpbmcucGFyc2Uod2luZG93LmxvY2F0aW9uLmhhc2gpO1xyXG4gICAgICAgIGNvbnN0IHthY2Nlc3NfdG9rZW59ID0gcGFyYW1zO1xyXG4gICAgICAgIGNvbnN0IHtkaXNwYXRjaH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIGRpc3BhdGNoKGxvZ2luKGFjY2Vzc190b2tlbikpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7bG9naW5SZXF1ZXN0fSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgbGV0IGNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkobG9naW5SZXF1ZXN0KSB8fCBsb2dpblJlcXVlc3Quc3RhdHVzID09PSAnbG9hZGluZycpIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnRlbnQgPSA8ZGl2IGNsYXNzTmFtZT1cIl9kYXNoLWxvYWRpbmdcIj5Mb2FkaW5nLi4uPC9kaXY+O1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGxvZ2luUmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xyXG5cclxuICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBjb250ZW50ID0gKFxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aDM+eydZaWtlcyEgQW4gZXJyb3Igb2NjdXJyZWQgdHJ5aW5nIHRvIGxvZyBpbi4nfTwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dpblJlcXVlc3QuY29udGVudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+e0pTT04uc3RyaW5naWZ5KGxvZ2luUmVxdWVzdC5jb250ZW50KX08L3ByZT4gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAge2NvbnRlbnR9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuVW5jb25uZWN0ZWRPYXV0aFJlZGlyZWN0LnByb3BUeXBlcyA9IHtcclxuICAgIGxvZ2luUmVxdWVzdDogUHJvcFR5cGVzLm9iamVjdCxcclxuICAgIGxvZ2luOiBQcm9wVHlwZXMuZnVuYyxcclxuICAgIGRpc3BhdGNoOiBQcm9wVHlwZXMuZnVuY1xyXG59XHJcbmNvbnN0IE9hdXRoUmVkaXJlY3QgPSBjb25uZWN0KFxyXG4gICAgc3RhdGUgPT4gKHtsb2dpblJlcXVlc3Q6IHN0YXRlLmxvZ2luUmVxdWVzdH0pLFxyXG4gICAgZGlzcGF0Y2ggPT4gKHtkaXNwYXRjaH0pXHJcbikoVW5jb25uZWN0ZWRPYXV0aFJlZGlyZWN0KTtcclxuXHJcbi8qKlxyXG4gKiBBdXRoZW50aWNhdGlvbiBjb21wb25lbnQgcmVuZGVycyB0aGUgY2hpbGRyZW4gaWYgdGhlIHVzZXIgaXNcclxuICogbG9nZ2VkIGluIG9yIGRvZXNuJ3QgbmVlZCB0byBsb2dpbi5cclxuICogT3RoZXJ3aXNlLCBpdCByZW5kZXJzIGFuIGludGVyZmFjZSB0aGF0IGFsbG93cyBhIHVzZXIgdG8gbG9nIGluLlxyXG4gKlxyXG4gKiBMb2cgaW4gaXMgY2hlY2tlZCB0aHJvdWdoIHRoZSBwcmVzZW5jZSBvZiBhbiBvYXV0aCB0b2tlbiBhcyBhIGNvb2tpZS5cclxuICogTG9nIGluIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGFwcHMgdGhhdCBoYXZlIGEgYGZpZGAgaW4gdGhlIGBjb25maWdgXHJcbiAqIEFQSSByZXNwb25zZVxyXG4gKlxyXG4gKiBOb3RlIHRoYXQgYSB1c2VyIHRoYXQgaXMgbG9nZ2VkIGluIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGhhdmUgaGF2ZVxyXG4gKiB2aWV3IGFjY2VzcyB0byB0aGUgYXBwLlxyXG4gKlxyXG4gKiBUaGlzIGNvbXBvbmVudCBhbHNvIHJlbmRlcnMgdGhlIE9BdXRoIHJlZGlyZWN0IFVSTFxyXG4gKi9cclxuY2xhc3MgQXV0aGVudGljYXRpb24gZXh0ZW5kcyBDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgb2F1dGhfZmxvd19jb3VudGVyOiAwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6YXRpb24odGhpcy5wcm9wcyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhwcm9wcykge1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6YXRpb24ocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemF0aW9uKHByb3BzKSB7XHJcbiAgICAgICAgY29uc3Qge2NvbmZpZywgZGlzcGF0Y2h9ID0gcHJvcHM7XHJcbiAgICAgICAgaWYgKHR5cGUoY29uZmlnKSA9PT0gXCJOdWxsXCIpIHtcclxuICAgICAgICAgICAgZGlzcGF0Y2gocmVhZENvbmZpZygpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG5cclxuICAgICAgICBjb25zdCB7Y2hpbGRyZW4sIGNvbmZpZ30gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgICAgICAvLyBPQXV0aCByZWRpcmVjdFxyXG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09IFJFRElSRUNUX1VSSV9QQVRITkFNRSkge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPE9hdXRoUmVkaXJlY3QvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGUoY29uZmlnKSA9PT0gXCJOdWxsXCIpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cIl9kYXNoLWxvYWRpbmdcIj5Mb2FkaW5nLi4uPC9kaXY+O1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKGNvbmZpZy5maWQpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChjb250YWlucygncGxvdGx5X29hdXRoX3Rva2VuPScsIGRvY3VtZW50LmNvb2tpZSkpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW47XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTZXQgb2F1dGggdG9rZW4gY29va2llIHRocm91Z2ggYW4gb2F1dGggZmxvd1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8TG9naW4gb25DbG9zZWQ9e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9hdXRoX2Zsb3dfY291bnRlcjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUub2F1dGhfZmxvd19jb3VudGVyICsgMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH0vPlxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkF1dGhlbnRpY2F0aW9uLnByb3BUeXBlcyA9IHtcclxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub2JqZWN0LFxyXG4gICAgY29uZmlnOiBQcm9wVHlwZXMub2JqZWN0XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QoXHJcbiAgICBzdGF0ZSA9PiAoe1xyXG4gICAgICAgIGNvbmZpZzogc3RhdGUuY29uZmlnLFxyXG4gICAgfSksXHJcbiAgICBkaXNwYXRjaCA9PiAoe2Rpc3BhdGNofSlcclxuKShBdXRoZW50aWNhdGlvbik7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Authentication.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _queryString = __webpack_require__(/*! query-string */ \"./node_modules/query-string/index.js\");\n\nvar _queryString2 = _interopRequireDefault(_queryString);\n\nvar _api = __webpack_require__(/*! ./actions/api */ \"./src/actions/api.js\");\n\nvar _index = __webpack_require__(/*! ./actions/index */ \"./src/actions/index.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _styles = __webpack_require__(/*! ./styles/styles.js */ \"./src/styles/styles.js\");\n\nvar styles = _interopRequireWildcard(_styles);\n\nvar _constants = __webpack_require__(/*! ./constants/constants */ \"./src/constants/constants.js\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* global window:true, document:true */\n\n\n// http://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen\nvar popupCenter = function popupCenter(url, title, w, h) {\n // Fixes dual-screen position\n var screenLeft = window.screenLeft;\n var screenTop = window.screenTop;\n\n var width = window.innerWidth;\n var height = window.innerHeight;\n\n var left = width / 2 - w / 2 + screenLeft;\n var top = height / 2 - h / 2 + screenTop;\n var popupWindow = window.open(url, title, 'scrollbars=yes,width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\n return popupWindow;\n};\n\n/**\n * Login displays an interface that guides the user through an oauth flow.\n * - Clicking on a login button will launch a new window with the plot.ly\n * oauth url\n * - plot.ly will redirect that window to defined redirect URL when complete\n * - The component will render the oauth redirect page\n * - When the window is closed, will call its\n * `onClosed` prop\n */\n\nvar UnconnectedLogin = function (_Component) {\n _inherits(UnconnectedLogin, _Component);\n\n function UnconnectedLogin(props) {\n _classCallCheck(this, UnconnectedLogin);\n\n var _this = _possibleConstructorReturn(this, (UnconnectedLogin.__proto__ || Object.getPrototypeOf(UnconnectedLogin)).call(this, props));\n\n _this.buildOauthUrl = _this.buildOauthUrl.bind(_this);\n _this.oauthPopUp = _this.oauthPopUp.bind(_this);\n return _this;\n }\n\n _createClass(UnconnectedLogin, [{\n key: 'buildOauthUrl',\n value: function buildOauthUrl() {\n var _props$config = this.props.config,\n oauth_client_id = _props$config.oauth_client_id,\n plotly_domain = _props$config.plotly_domain;\n\n return plotly_domain + '/o/authorize/?response_type=token&' + ('client_id=' + oauth_client_id + '&') + ('redirect_uri=' + window.location.origin + _constants.REDIRECT_URI_PATHNAME);\n }\n }, {\n key: 'oauthPopUp',\n value: function oauthPopUp() {\n var _this2 = this;\n\n var popupWindow = popupCenter(this.buildOauthUrl(), 'Authorization', '500', '500');\n if (window.focus) {\n popupWindow.focus();\n }\n window.popupWindow = popupWindow;\n var interval = setInterval(function () {\n if (popupWindow.closed) {\n _this2.props.onClosed();\n clearInterval(interval);\n }\n }, 100);\n }\n }, {\n key: 'render',\n value: function render() {\n var plotly_domain = this.props.config.plotly_domain;\n\n return _react2.default.createElement(\n 'div',\n { style: (0, _ramda.merge)(styles.base.html, styles.base.container) },\n _react2.default.createElement(\n 'div',\n { style: styles.base.h2 },\n 'Dash'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.base.h4 },\n 'Log in to Plotly to continue'\n ),\n _react2.default.createElement(\n 'button',\n { style: styles.base.button, onClick: this.oauthPopUp },\n 'Log in'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.base.caption },\n _react2.default.createElement(\n 'span',\n null,\n 'This dash app requires a plotly login to view.\\n Don\\'t have an account yet?'\n ),\n _react2.default.createElement(\n 'a',\n {\n style: styles.base.a,\n href: plotly_domain + '/accounts/login/?action=signup'\n },\n ' Create an account '\n ),\n _react2.default.createElement(\n 'span',\n null,\n ' (it\\'s free)\\n and then request access from the owner of this app.'\n )\n )\n );\n }\n }]);\n\n return UnconnectedLogin;\n}(_react.Component);\n\nUnconnectedLogin.propTypes = {\n onClosed: _propTypes2.default.func,\n config: _propTypes2.default.object\n};\nvar Login = (0, _reactRedux.connect)(function (state) {\n return { config: state.config };\n})(UnconnectedLogin);\n\n/**\n * OAuth redirect component\n * - Looks for an oauth token in the URL as provided by the plot.ly redirect\n * - Make an API call to dash with that oauth token\n * - In response, Dash will set the oauth token as a cookie\n * if it is valid\n * Parent is component is responsible for rendering\n * this component in the appropriate context\n * (the URL redirect)\n */\n\nvar UnconnectedOauthRedirect = function (_Component2) {\n _inherits(UnconnectedOauthRedirect, _Component2);\n\n function UnconnectedOauthRedirect(props) {\n _classCallCheck(this, UnconnectedOauthRedirect);\n\n return _possibleConstructorReturn(this, (UnconnectedOauthRedirect.__proto__ || Object.getPrototypeOf(UnconnectedOauthRedirect)).call(this, props));\n }\n\n _createClass(UnconnectedOauthRedirect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var params = _queryString2.default.parse(window.location.hash);\n var access_token = params.access_token;\n var dispatch = this.props.dispatch;\n\n dispatch((0, _api.login)(access_token));\n }\n }, {\n key: 'render',\n value: function render() {\n var loginRequest = this.props.loginRequest;\n\n var content = void 0;\n if ((0, _ramda.isEmpty)(loginRequest) || loginRequest.status === 'loading') {\n content = _react2.default.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n } else if (loginRequest.status === _constants.STATUS.OK) {\n window.close();\n } else {\n content = _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'h3',\n null,\n 'Yikes! An error occurred trying to log in.'\n ),\n loginRequest.content ? _react2.default.createElement(\n 'pre',\n null,\n JSON.stringify(loginRequest.content)\n ) : null\n );\n }\n return _react2.default.createElement(\n 'div',\n null,\n content\n );\n }\n }]);\n\n return UnconnectedOauthRedirect;\n}(_react.Component);\n\nUnconnectedOauthRedirect.propTypes = {\n loginRequest: _propTypes2.default.object,\n login: _propTypes2.default.func,\n dispatch: _propTypes2.default.func\n};\nvar OauthRedirect = (0, _reactRedux.connect)(function (state) {\n return { loginRequest: state.loginRequest };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(UnconnectedOauthRedirect);\n\n/**\n * Authentication component renders the children if the user is\n * logged in or doesn't need to login.\n * Otherwise, it renders an interface that allows a user to log in.\n *\n * Log in is checked through the presence of an oauth token as a cookie.\n * Log in is only required for apps that have a `fid` in the `config`\n * API response\n *\n * Note that a user that is logged in does not necessarily have have\n * view access to the app.\n *\n * This component also renders the OAuth redirect URL\n */\n\nvar Authentication = function (_Component3) {\n _inherits(Authentication, _Component3);\n\n function Authentication(props) {\n _classCallCheck(this, Authentication);\n\n var _this4 = _possibleConstructorReturn(this, (Authentication.__proto__ || Object.getPrototypeOf(Authentication)).call(this, props));\n\n _this4.state = {\n oauth_flow_counter: 0\n };\n return _this4;\n }\n\n _createClass(Authentication, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.initialization(this.props);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n this.initialization(props);\n }\n }, {\n key: 'initialization',\n value: function initialization(props) {\n var config = props.config,\n dispatch = props.dispatch;\n\n if ((0, _ramda.type)(config) === 'Null') {\n dispatch((0, _index.readConfig)());\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this5 = this;\n\n var _props = this.props,\n children = _props.children,\n config = _props.config;\n\n // OAuth redirect\n\n if (window.location.pathname === _constants.REDIRECT_URI_PATHNAME) {\n return _react2.default.createElement(OauthRedirect, null);\n }\n\n if ((0, _ramda.type)(config) === 'Null') {\n return _react2.default.createElement(\n 'div',\n { className: '_dash-loading' },\n 'Loading...'\n );\n } else if (config.fid) {\n if ((0, _ramda.contains)('plotly_oauth_token=', document.cookie)) {\n return children;\n }\n\n // Set oauth token cookie through an oauth flow\n return _react2.default.createElement(Login, {\n onClosed: function onClosed() {\n return _this5.setState({\n oauth_flow_counter: _this5.state.oauth_flow_counter + 1\n });\n }\n });\n }\n\n return children;\n }\n }]);\n\n return Authentication;\n}(_react.Component);\n\nAuthentication.propTypes = {\n children: _propTypes2.default.object,\n config: _propTypes2.default.object\n};\n\nexports.default = (0, _reactRedux.connect)(function (state) {\n return {\n config: state.config\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(Authentication);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL0F1dGhlbnRpY2F0aW9uLnJlYWN0LmpzPzJlMzAiXSwibmFtZXMiOlsic3R5bGVzIiwicG9wdXBDZW50ZXIiLCJ1cmwiLCJ0aXRsZSIsInciLCJoIiwic2NyZWVuTGVmdCIsIndpbmRvdyIsInNjcmVlblRvcCIsIndpZHRoIiwiaW5uZXJXaWR0aCIsImhlaWdodCIsImlubmVySGVpZ2h0IiwibGVmdCIsInRvcCIsInBvcHVwV2luZG93Iiwib3BlbiIsIlVuY29ubmVjdGVkTG9naW4iLCJwcm9wcyIsImJ1aWxkT2F1dGhVcmwiLCJiaW5kIiwib2F1dGhQb3BVcCIsImNvbmZpZyIsIm9hdXRoX2NsaWVudF9pZCIsInBsb3RseV9kb21haW4iLCJsb2NhdGlvbiIsIm9yaWdpbiIsIlJFRElSRUNUX1VSSV9QQVRITkFNRSIsImZvY3VzIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImNsb3NlZCIsIm9uQ2xvc2VkIiwiY2xlYXJJbnRlcnZhbCIsImJhc2UiLCJodG1sIiwiY29udGFpbmVyIiwiaDIiLCJoNCIsImJ1dHRvbiIsImNhcHRpb24iLCJhIiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiZnVuYyIsIm9iamVjdCIsIkxvZ2luIiwic3RhdGUiLCJVbmNvbm5lY3RlZE9hdXRoUmVkaXJlY3QiLCJwYXJhbXMiLCJxdWVyeVN0cmluZyIsInBhcnNlIiwiaGFzaCIsImFjY2Vzc190b2tlbiIsImRpc3BhdGNoIiwibG9naW5SZXF1ZXN0IiwiY29udGVudCIsInN0YXR1cyIsIlNUQVRVUyIsIk9LIiwiY2xvc2UiLCJKU09OIiwic3RyaW5naWZ5IiwibG9naW4iLCJPYXV0aFJlZGlyZWN0IiwiQXV0aGVudGljYXRpb24iLCJvYXV0aF9mbG93X2NvdW50ZXIiLCJpbml0aWFsaXphdGlvbiIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJmaWQiLCJkb2N1bWVudCIsImNvb2tpZSIsInNldFN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztJQUFZQSxNOztBQUNaOzs7Ozs7Ozs7OytlQVRBOzs7QUFXQTtBQUNBLElBQU1DLGNBQWMsU0FBZEEsV0FBYyxDQUFDQyxHQUFELEVBQU1DLEtBQU4sRUFBYUMsQ0FBYixFQUFnQkMsQ0FBaEIsRUFBc0I7QUFDdEM7QUFDQSxRQUFNQyxhQUFhQyxPQUFPRCxVQUExQjtBQUNBLFFBQU1FLFlBQVlELE9BQU9DLFNBQXpCOztBQUVBLFFBQU1DLFFBQVFGLE9BQU9HLFVBQXJCO0FBQ0EsUUFBTUMsU0FBU0osT0FBT0ssV0FBdEI7O0FBRUEsUUFBTUMsT0FBT0osUUFBUSxDQUFSLEdBQVlMLElBQUksQ0FBaEIsR0FBb0JFLFVBQWpDO0FBQ0EsUUFBTVEsTUFBTUgsU0FBUyxDQUFULEdBQWFOLElBQUksQ0FBakIsR0FBcUJHLFNBQWpDO0FBQ0EsUUFBTU8sY0FBY1IsT0FBT1MsSUFBUCxDQUNoQmQsR0FEZ0IsRUFFaEJDLEtBRmdCLEVBR2hCLDBCQUNJQyxDQURKLEdBRUksV0FGSixHQUdJQyxDQUhKLEdBSUksUUFKSixHQUtJUyxHQUxKLEdBTUksU0FOSixHQU9JRCxJQVZZLENBQXBCO0FBWUEsV0FBT0UsV0FBUDtBQUNILENBdkJEOztBQXlCQTs7Ozs7Ozs7OztJQVNNRSxnQjs7O0FBQ0YsOEJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSx3SUFDVEEsS0FEUzs7QUFFZixjQUFLQyxhQUFMLEdBQXFCLE1BQUtBLGFBQUwsQ0FBbUJDLElBQW5CLE9BQXJCO0FBQ0EsY0FBS0MsVUFBTCxHQUFrQixNQUFLQSxVQUFMLENBQWdCRCxJQUFoQixPQUFsQjtBQUhlO0FBSWxCOzs7O3dDQUVlO0FBQUEsZ0NBQzZCLEtBQUtGLEtBQUwsQ0FBV0ksTUFEeEM7QUFBQSxnQkFDTEMsZUFESyxpQkFDTEEsZUFESztBQUFBLGdCQUNZQyxhQURaLGlCQUNZQSxhQURaOztBQUVaLG1CQUNPQSxhQUFILDBEQUNhRCxlQURiLDZCQUVnQmhCLE9BQU9rQixRQUFQLENBQWdCQyxNQUZoQyxHQUV5Q0MsZ0NBRnpDLENBREo7QUFLSDs7O3FDQUVZO0FBQUE7O0FBQ1QsZ0JBQU1aLGNBQWNkLFlBQ2hCLEtBQUtrQixhQUFMLEVBRGdCLEVBRWhCLGVBRmdCLEVBR2hCLEtBSGdCLEVBSWhCLEtBSmdCLENBQXBCO0FBTUEsZ0JBQUlaLE9BQU9xQixLQUFYLEVBQWtCO0FBQ2RiLDRCQUFZYSxLQUFaO0FBQ0g7QUFDRHJCLG1CQUFPUSxXQUFQLEdBQXFCQSxXQUFyQjtBQUNBLGdCQUFNYyxXQUFXQyxZQUFZLFlBQU07QUFDL0Isb0JBQUlmLFlBQVlnQixNQUFoQixFQUF3QjtBQUNwQiwyQkFBS2IsS0FBTCxDQUFXYyxRQUFYO0FBQ0FDLGtDQUFjSixRQUFkO0FBQ0g7QUFDSixhQUxnQixFQUtkLEdBTGMsQ0FBakI7QUFNSDs7O2lDQUVRO0FBQUEsZ0JBQ0VMLGFBREYsR0FDbUIsS0FBS04sS0FBTCxDQUFXSSxNQUQ5QixDQUNFRSxhQURGOztBQUVMLG1CQUNJO0FBQUE7QUFBQSxrQkFBSyxPQUFPLGtCQUFNeEIsT0FBT2tDLElBQVAsQ0FBWUMsSUFBbEIsRUFBd0JuQyxPQUFPa0MsSUFBUCxDQUFZRSxTQUFwQyxDQUFaO0FBQ0k7QUFBQTtBQUFBLHNCQUFLLE9BQU9wQyxPQUFPa0MsSUFBUCxDQUFZRyxFQUF4QjtBQUFBO0FBQUEsaUJBREo7QUFHSTtBQUFBO0FBQUEsc0JBQUssT0FBT3JDLE9BQU9rQyxJQUFQLENBQVlJLEVBQXhCO0FBQ0s7QUFETCxpQkFISjtBQU9JO0FBQUE7QUFBQSxzQkFBUSxPQUFPdEMsT0FBT2tDLElBQVAsQ0FBWUssTUFBM0IsRUFBbUMsU0FBUyxLQUFLbEIsVUFBakQ7QUFDSztBQURMLGlCQVBKO0FBV0k7QUFBQTtBQUFBLHNCQUFLLE9BQU9yQixPQUFPa0MsSUFBUCxDQUFZTSxPQUF4QjtBQUNJO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBREo7QUFLSTtBQUFBO0FBQUE7QUFDSSxtQ0FBT3hDLE9BQU9rQyxJQUFQLENBQVlPLENBRHZCO0FBRUksa0NBQVNqQixhQUFUO0FBRko7QUFJSztBQUpMLHFCQUxKO0FBV0k7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVhKO0FBWEosYUFESjtBQThCSDs7OztFQW5FMEJrQixnQjs7QUFxRS9CekIsaUJBQWlCMEIsU0FBakIsR0FBNkI7QUFDekJYLGNBQVVZLG9CQUFVQyxJQURLO0FBRXpCdkIsWUFBUXNCLG9CQUFVRTtBQUZPLENBQTdCO0FBSUEsSUFBTUMsUUFBUSx5QkFBUTtBQUFBLFdBQVUsRUFBQ3pCLFFBQVEwQixNQUFNMUIsTUFBZixFQUFWO0FBQUEsQ0FBUixFQUEyQ0wsZ0JBQTNDLENBQWQ7O0FBRUE7Ozs7Ozs7Ozs7O0lBVU1nQyx3Qjs7O0FBQ0Ysc0NBQVkvQixLQUFaLEVBQW1CO0FBQUE7O0FBQUEsbUpBQ1RBLEtBRFM7QUFFbEI7Ozs7NENBRW1CO0FBQ2hCLGdCQUFNZ0MsU0FBU0Msc0JBQVlDLEtBQVosQ0FBa0I3QyxPQUFPa0IsUUFBUCxDQUFnQjRCLElBQWxDLENBQWY7QUFEZ0IsZ0JBRVRDLFlBRlMsR0FFT0osTUFGUCxDQUVUSSxZQUZTO0FBQUEsZ0JBR1RDLFFBSFMsR0FHRyxLQUFLckMsS0FIUixDQUdUcUMsUUFIUzs7QUFJaEJBLHFCQUFTLGdCQUFNRCxZQUFOLENBQVQ7QUFDSDs7O2lDQUVRO0FBQUEsZ0JBQ0VFLFlBREYsR0FDa0IsS0FBS3RDLEtBRHZCLENBQ0VzQyxZQURGOztBQUVMLGdCQUFJQyxnQkFBSjtBQUNBLGdCQUFJLG9CQUFRRCxZQUFSLEtBQXlCQSxhQUFhRSxNQUFiLEtBQXdCLFNBQXJELEVBQWdFO0FBQzVERCwwQkFBVTtBQUFBO0FBQUEsc0JBQUssV0FBVSxlQUFmO0FBQUE7QUFBQSxpQkFBVjtBQUNILGFBRkQsTUFFTyxJQUFJRCxhQUFhRSxNQUFiLEtBQXdCQyxrQkFBT0MsRUFBbkMsRUFBdUM7QUFDMUNyRCx1QkFBT3NELEtBQVA7QUFDSCxhQUZNLE1BRUE7QUFDSEosMEJBQ0k7QUFBQTtBQUFBO0FBQ0k7QUFBQTtBQUFBO0FBQUs7QUFBTCxxQkFESjtBQUVLRCxpQ0FBYUMsT0FBYixHQUNHO0FBQUE7QUFBQTtBQUFNSyw2QkFBS0MsU0FBTCxDQUFlUCxhQUFhQyxPQUE1QjtBQUFOLHFCQURILEdBRUc7QUFKUixpQkFESjtBQVFIO0FBQ0QsbUJBQU87QUFBQTtBQUFBO0FBQU1BO0FBQU4sYUFBUDtBQUNIOzs7O0VBOUJrQ2YsZ0I7O0FBZ0N2Q08seUJBQXlCTixTQUF6QixHQUFxQztBQUNqQ2Esa0JBQWNaLG9CQUFVRSxNQURTO0FBRWpDa0IsV0FBT3BCLG9CQUFVQyxJQUZnQjtBQUdqQ1UsY0FBVVgsb0JBQVVDO0FBSGEsQ0FBckM7QUFLQSxJQUFNb0IsZ0JBQWdCLHlCQUNsQjtBQUFBLFdBQVUsRUFBQ1QsY0FBY1IsTUFBTVEsWUFBckIsRUFBVjtBQUFBLENBRGtCLEVBRWxCO0FBQUEsV0FBYSxFQUFDRCxrQkFBRCxFQUFiO0FBQUEsQ0FGa0IsRUFHcEJOLHdCQUhvQixDQUF0Qjs7QUFLQTs7Ozs7Ozs7Ozs7Ozs7O0lBY01pQixjOzs7QUFDRiw0QkFBWWhELEtBQVosRUFBbUI7QUFBQTs7QUFBQSxxSUFDVEEsS0FEUzs7QUFFZixlQUFLOEIsS0FBTCxHQUFhO0FBQ1RtQixnQ0FBb0I7QUFEWCxTQUFiO0FBRmU7QUFLbEI7Ozs7NENBRW1CO0FBQ2hCLGlCQUFLQyxjQUFMLENBQW9CLEtBQUtsRCxLQUF6QjtBQUNIOzs7a0RBRXlCQSxLLEVBQU87QUFDN0IsaUJBQUtrRCxjQUFMLENBQW9CbEQsS0FBcEI7QUFDSDs7O3VDQUVjQSxLLEVBQU87QUFBQSxnQkFDWEksTUFEVyxHQUNTSixLQURULENBQ1hJLE1BRFc7QUFBQSxnQkFDSGlDLFFBREcsR0FDU3JDLEtBRFQsQ0FDSHFDLFFBREc7O0FBRWxCLGdCQUFJLGlCQUFLakMsTUFBTCxNQUFpQixNQUFyQixFQUE2QjtBQUN6QmlDLHlCQUFTLHdCQUFUO0FBQ0g7QUFDSjs7O2lDQUVRO0FBQUE7O0FBQUEseUJBQ3NCLEtBQUtyQyxLQUQzQjtBQUFBLGdCQUNFbUQsUUFERixVQUNFQSxRQURGO0FBQUEsZ0JBQ1kvQyxNQURaLFVBQ1lBLE1BRFo7O0FBR0w7O0FBQ0EsZ0JBQUlmLE9BQU9rQixRQUFQLENBQWdCNkMsUUFBaEIsS0FBNkIzQyxnQ0FBakMsRUFBd0Q7QUFDcEQsdUJBQU8sOEJBQUMsYUFBRCxPQUFQO0FBQ0g7O0FBRUQsZ0JBQUksaUJBQUtMLE1BQUwsTUFBaUIsTUFBckIsRUFBNkI7QUFDekIsdUJBQU87QUFBQTtBQUFBLHNCQUFLLFdBQVUsZUFBZjtBQUFBO0FBQUEsaUJBQVA7QUFDSCxhQUZELE1BRU8sSUFBSUEsT0FBT2lELEdBQVgsRUFBZ0I7QUFDbkIsb0JBQUkscUJBQVMscUJBQVQsRUFBZ0NDLFNBQVNDLE1BQXpDLENBQUosRUFBc0Q7QUFDbEQsMkJBQU9KLFFBQVA7QUFDSDs7QUFFRDtBQUNBLHVCQUNJLDhCQUFDLEtBQUQ7QUFDSSw4QkFBVTtBQUFBLCtCQUNOLE9BQUtLLFFBQUwsQ0FBYztBQUNWUCxnREFDSSxPQUFLbkIsS0FBTCxDQUFXbUIsa0JBQVgsR0FBZ0M7QUFGMUIseUJBQWQsQ0FETTtBQUFBO0FBRGQsa0JBREo7QUFVSDs7QUFFRCxtQkFBT0UsUUFBUDtBQUNIOzs7O0VBcER3QjNCLGdCOztBQXVEN0J3QixlQUFldkIsU0FBZixHQUEyQjtBQUN2QjBCLGNBQVV6QixvQkFBVUUsTUFERztBQUV2QnhCLFlBQVFzQixvQkFBVUU7QUFGSyxDQUEzQjs7a0JBS2UseUJBQ1g7QUFBQSxXQUFVO0FBQ054QixnQkFBUTBCLE1BQU0xQjtBQURSLEtBQVY7QUFBQSxDQURXLEVBSVg7QUFBQSxXQUFhLEVBQUNpQyxrQkFBRCxFQUFiO0FBQUEsQ0FKVyxFQUtiVyxjQUxhLEMiLCJmaWxlIjoiLi9zcmMvQXV0aGVudGljYXRpb24ucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd2luZG93OnRydWUsIGRvY3VtZW50OnRydWUgKi9cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHF1ZXJ5U3RyaW5nIGZyb20gJ3F1ZXJ5LXN0cmluZyc7XG5pbXBvcnQge2xvZ2lufSBmcm9tICcuL2FjdGlvbnMvYXBpJztcbmltcG9ydCB7cmVhZENvbmZpZ30gZnJvbSAnLi9hY3Rpb25zL2luZGV4JztcbmltcG9ydCB7Y29udGFpbnMsIGlzRW1wdHksIG1lcmdlLCB0eXBlfSBmcm9tICdyYW1kYSc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMvc3R5bGVzLmpzJztcbmltcG9ydCB7UkVESVJFQ1RfVVJJX1BBVEhOQU1FLCBTVEFUVVN9IGZyb20gJy4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5cbi8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA2ODM3My9jZW50ZXItYS1wb3B1cC13aW5kb3ctb24tc2NyZWVuXG5jb25zdCBwb3B1cENlbnRlciA9ICh1cmwsIHRpdGxlLCB3LCBoKSA9PiB7XG4gICAgLy8gRml4ZXMgZHVhbC1zY3JlZW4gcG9zaXRpb25cbiAgICBjb25zdCBzY3JlZW5MZWZ0ID0gd2luZG93LnNjcmVlbkxlZnQ7XG4gICAgY29uc3Qgc2NyZWVuVG9wID0gd2luZG93LnNjcmVlblRvcDtcblxuICAgIGNvbnN0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3QgaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgY29uc3QgbGVmdCA9IHdpZHRoIC8gMiAtIHcgLyAyICsgc2NyZWVuTGVmdDtcbiAgICBjb25zdCB0b3AgPSBoZWlnaHQgLyAyIC0gaCAvIDIgKyBzY3JlZW5Ub3A7XG4gICAgY29uc3QgcG9wdXBXaW5kb3cgPSB3aW5kb3cub3BlbihcbiAgICAgICAgdXJsLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgJ3Njcm9sbGJhcnM9eWVzLHdpZHRoPScgK1xuICAgICAgICAgICAgdyArXG4gICAgICAgICAgICAnLCBoZWlnaHQ9JyArXG4gICAgICAgICAgICBoICtcbiAgICAgICAgICAgICcsIHRvcD0nICtcbiAgICAgICAgICAgIHRvcCArXG4gICAgICAgICAgICAnLCBsZWZ0PScgK1xuICAgICAgICAgICAgbGVmdFxuICAgICk7XG4gICAgcmV0dXJuIHBvcHVwV2luZG93O1xufTtcblxuLyoqXG4gKiBMb2dpbiBkaXNwbGF5cyBhbiBpbnRlcmZhY2UgdGhhdCBndWlkZXMgdGhlIHVzZXIgdGhyb3VnaCBhbiBvYXV0aCBmbG93LlxuICogLSBDbGlja2luZyBvbiBhIGxvZ2luIGJ1dHRvbiB3aWxsIGxhdW5jaCBhIG5ldyB3aW5kb3cgd2l0aCB0aGUgcGxvdC5seVxuICogICBvYXV0aCB1cmxcbiAqIC0gcGxvdC5seSB3aWxsIHJlZGlyZWN0IHRoYXQgd2luZG93IHRvIGRlZmluZWQgcmVkaXJlY3QgVVJMIHdoZW4gY29tcGxldGVcbiAqIC0gVGhlIDxPYXV0aFJlZGlyZWN0Lz4gY29tcG9uZW50IHdpbGwgcmVuZGVyIHRoZSBvYXV0aCByZWRpcmVjdCBwYWdlXG4gKiAtIFdoZW4gdGhlIDxPYXV0aFJlZGlyZWN0Lz4gd2luZG93IGlzIGNsb3NlZCwgPExvZ2luLz4gd2lsbCBjYWxsIGl0c1xuICogICBgb25DbG9zZWRgIHByb3BcbiAqL1xuY2xhc3MgVW5jb25uZWN0ZWRMb2dpbiBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLmJ1aWxkT2F1dGhVcmwgPSB0aGlzLmJ1aWxkT2F1dGhVcmwuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vYXV0aFBvcFVwID0gdGhpcy5vYXV0aFBvcFVwLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgYnVpbGRPYXV0aFVybCgpIHtcbiAgICAgICAgY29uc3Qge29hdXRoX2NsaWVudF9pZCwgcGxvdGx5X2RvbWFpbn0gPSB0aGlzLnByb3BzLmNvbmZpZztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGAke3Bsb3RseV9kb21haW59L28vYXV0aG9yaXplLz9yZXNwb25zZV90eXBlPXRva2VuJmAgK1xuICAgICAgICAgICAgYGNsaWVudF9pZD0ke29hdXRoX2NsaWVudF9pZH0mYCArXG4gICAgICAgICAgICBgcmVkaXJlY3RfdXJpPSR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0ke1JFRElSRUNUX1VSSV9QQVRITkFNRX1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb2F1dGhQb3BVcCgpIHtcbiAgICAgICAgY29uc3QgcG9wdXBXaW5kb3cgPSBwb3B1cENlbnRlcihcbiAgICAgICAgICAgIHRoaXMuYnVpbGRPYXV0aFVybCgpLFxuICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nLFxuICAgICAgICAgICAgJzUwMCcsXG4gICAgICAgICAgICAnNTAwJ1xuICAgICAgICApO1xuICAgICAgICBpZiAod2luZG93LmZvY3VzKSB7XG4gICAgICAgICAgICBwb3B1cFdpbmRvdy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5wb3B1cFdpbmRvdyA9IHBvcHVwV2luZG93O1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChwb3B1cFdpbmRvdy5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2xvc2VkKCk7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7cGxvdGx5X2RvbWFpbn0gPSB0aGlzLnByb3BzLmNvbmZpZztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e21lcmdlKHN0eWxlcy5iYXNlLmh0bWwsIHN0eWxlcy5iYXNlLmNvbnRhaW5lcil9PlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5iYXNlLmgyfT5EYXNoPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuYmFzZS5oNH0+XG4gICAgICAgICAgICAgICAgICAgIHsnTG9nIGluIHRvIFBsb3RseSB0byBjb250aW51ZSd9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHN0eWxlPXtzdHlsZXMuYmFzZS5idXR0b259IG9uQ2xpY2s9e3RoaXMub2F1dGhQb3BVcH0+XG4gICAgICAgICAgICAgICAgICAgIHsnTG9nIGluJ31cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5iYXNlLmNhcHRpb259PlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgVGhpcyBkYXNoIGFwcCByZXF1aXJlcyBhIHBsb3RseSBsb2dpbiB0byB2aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBoYXZlIGFuIGFjY291bnQgeWV0P2B9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuYmFzZS5hfVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YCR7cGxvdGx5X2RvbWFpbn0vYWNjb3VudHMvbG9naW4vP2FjdGlvbj1zaWdudXBgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7JyBDcmVhdGUgYW4gYWNjb3VudCAnfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge2AgKGl0J3MgZnJlZSlcbiAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlbiByZXF1ZXN0IGFjY2VzcyBmcm9tIHRoZSBvd25lciBvZiB0aGlzIGFwcC5gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5VbmNvbm5lY3RlZExvZ2luLnByb3BUeXBlcyA9IHtcbiAgICBvbkNsb3NlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcbmNvbnN0IExvZ2luID0gY29ubmVjdChzdGF0ZSA9PiAoe2NvbmZpZzogc3RhdGUuY29uZmlnfSkpKFVuY29ubmVjdGVkTG9naW4pO1xuXG4vKipcbiAqIE9BdXRoIHJlZGlyZWN0IGNvbXBvbmVudFxuICogLSBMb29rcyBmb3IgYW4gb2F1dGggdG9rZW4gaW4gdGhlIFVSTCBhcyBwcm92aWRlZCBieSB0aGUgcGxvdC5seSByZWRpcmVjdFxuICogLSBNYWtlIGFuIEFQSSBjYWxsIHRvIGRhc2ggd2l0aCB0aGF0IG9hdXRoIHRva2VuXG4gKiAtIEluIHJlc3BvbnNlLCBEYXNoIHdpbGwgc2V0IHRoZSBvYXV0aCB0b2tlbiBhcyBhIGNvb2tpZVxuICogICBpZiBpdCBpcyB2YWxpZFxuICogUGFyZW50IGlzIGNvbXBvbmVudCBpcyByZXNwb25zaWJsZSBmb3IgcmVuZGVyaW5nXG4gKiB0aGlzIGNvbXBvbmVudCBpbiB0aGUgYXBwcm9wcmlhdGUgY29udGV4dFxuICogKHRoZSBVUkwgcmVkaXJlY3QpXG4gKi9cbmNsYXNzIFVuY29ubmVjdGVkT2F1dGhSZWRpcmVjdCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVN0cmluZy5wYXJzZSh3aW5kb3cubG9jYXRpb24uaGFzaCk7XG4gICAgICAgIGNvbnN0IHthY2Nlc3NfdG9rZW59ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCB7ZGlzcGF0Y2h9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgZGlzcGF0Y2gobG9naW4oYWNjZXNzX3Rva2VuKSk7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7bG9naW5SZXF1ZXN0fSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGxldCBjb250ZW50O1xuICAgICAgICBpZiAoaXNFbXB0eShsb2dpblJlcXVlc3QpIHx8IGxvZ2luUmVxdWVzdC5zdGF0dXMgPT09ICdsb2FkaW5nJykge1xuICAgICAgICAgICAgY29udGVudCA9IDxkaXYgY2xhc3NOYW1lPVwiX2Rhc2gtbG9hZGluZ1wiPkxvYWRpbmcuLi48L2Rpdj47XG4gICAgICAgIH0gZWxzZSBpZiAobG9naW5SZXF1ZXN0LnN0YXR1cyA9PT0gU1RBVFVTLk9LKSB7XG4gICAgICAgICAgICB3aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSAoXG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnsnWWlrZXMhIEFuIGVycm9yIG9jY3VycmVkIHRyeWluZyB0byBsb2cgaW4uJ308L2gzPlxuICAgICAgICAgICAgICAgICAgICB7bG9naW5SZXF1ZXN0LmNvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlPntKU09OLnN0cmluZ2lmeShsb2dpblJlcXVlc3QuY29udGVudCl9PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gPGRpdj57Y29udGVudH08L2Rpdj47XG4gICAgfVxufVxuVW5jb25uZWN0ZWRPYXV0aFJlZGlyZWN0LnByb3BUeXBlcyA9IHtcbiAgICBsb2dpblJlcXVlc3Q6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9naW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGRpc3BhdGNoOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5jb25zdCBPYXV0aFJlZGlyZWN0ID0gY29ubmVjdChcbiAgICBzdGF0ZSA9PiAoe2xvZ2luUmVxdWVzdDogc3RhdGUubG9naW5SZXF1ZXN0fSksXG4gICAgZGlzcGF0Y2ggPT4gKHtkaXNwYXRjaH0pXG4pKFVuY29ubmVjdGVkT2F1dGhSZWRpcmVjdCk7XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gY29tcG9uZW50IHJlbmRlcnMgdGhlIGNoaWxkcmVuIGlmIHRoZSB1c2VyIGlzXG4gKiBsb2dnZWQgaW4gb3IgZG9lc24ndCBuZWVkIHRvIGxvZ2luLlxuICogT3RoZXJ3aXNlLCBpdCByZW5kZXJzIGFuIGludGVyZmFjZSB0aGF0IGFsbG93cyBhIHVzZXIgdG8gbG9nIGluLlxuICpcbiAqIExvZyBpbiBpcyBjaGVja2VkIHRocm91Z2ggdGhlIHByZXNlbmNlIG9mIGFuIG9hdXRoIHRva2VuIGFzIGEgY29va2llLlxuICogTG9nIGluIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGFwcHMgdGhhdCBoYXZlIGEgYGZpZGAgaW4gdGhlIGBjb25maWdgXG4gKiBBUEkgcmVzcG9uc2VcbiAqXG4gKiBOb3RlIHRoYXQgYSB1c2VyIHRoYXQgaXMgbG9nZ2VkIGluIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGhhdmUgaGF2ZVxuICogdmlldyBhY2Nlc3MgdG8gdGhlIGFwcC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhbHNvIHJlbmRlcnMgdGhlIE9BdXRoIHJlZGlyZWN0IFVSTFxuICovXG5jbGFzcyBBdXRoZW50aWNhdGlvbiBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgb2F1dGhfZmxvd19jb3VudGVyOiAwLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemF0aW9uKHRoaXMucHJvcHMpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMocHJvcHMpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXphdGlvbihwcm9wcyk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6YXRpb24ocHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbmZpZywgZGlzcGF0Y2h9ID0gcHJvcHM7XG4gICAgICAgIGlmICh0eXBlKGNvbmZpZykgPT09ICdOdWxsJykge1xuICAgICAgICAgICAgZGlzcGF0Y2gocmVhZENvbmZpZygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge2NoaWxkcmVuLCBjb25maWd9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAvLyBPQXV0aCByZWRpcmVjdFxuICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lID09PSBSRURJUkVDVF9VUklfUEFUSE5BTUUpIHtcbiAgICAgICAgICAgIHJldHVybiA8T2F1dGhSZWRpcmVjdCAvPjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlKGNvbmZpZykgPT09ICdOdWxsJykge1xuICAgICAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwiX2Rhc2gtbG9hZGluZ1wiPkxvYWRpbmcuLi48L2Rpdj47XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLmZpZCkge1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5zKCdwbG90bHlfb2F1dGhfdG9rZW49JywgZG9jdW1lbnQuY29va2llKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2V0IG9hdXRoIHRva2VuIGNvb2tpZSB0aHJvdWdoIGFuIG9hdXRoIGZsb3dcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPExvZ2luXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xvc2VkPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGhfZmxvd19jb3VudGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLm9hdXRoX2Zsb3dfY291bnRlciArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgfVxufVxuXG5BdXRoZW50aWNhdGlvbi5wcm9wVHlwZXMgPSB7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29ubmVjdChcbiAgICBzdGF0ZSA9PiAoe1xuICAgICAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICB9KSxcbiAgICBkaXNwYXRjaCA9PiAoe2Rpc3BhdGNofSlcbikoQXV0aGVudGljYXRpb24pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Authentication.react.js\n"); /***/ }), @@ -5246,7 +5210,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar R = _interopRequireDefault(_ramda).default;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar Component = _react.Component;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nvar _registry = __webpack_require__(/*! ./registry */ \"./src/registry.js\");\n\nvar Registry = _interopRequireDefault(_registry).default;\n\nvar _NotifyObservers = __webpack_require__(/*! ./components/core/NotifyObservers.react */ \"./src/components/core/NotifyObservers.react.js\");\n\nvar NotifyObservers = _interopRequireDefault(_NotifyObservers).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TreeContainer = function (_Component) {\n _inherits(TreeContainer, _Component);\n\n function TreeContainer() {\n _classCallCheck(this, TreeContainer);\n\n return _possibleConstructorReturn(this, (TreeContainer.__proto__ || Object.getPrototypeOf(TreeContainer)).apply(this, arguments));\n }\n\n _createClass(TreeContainer, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return nextProps.layout !== this.props.layout;\n }\n }, {\n key: 'render',\n value: function render() {\n return _render(this.props.layout);\n }\n }]);\n\n return TreeContainer;\n}(Component);\n\nexports.default = TreeContainer;\n\n\nTreeContainer.propTypes = {\n layout: PropTypes.object\n};\n\nfunction _render(component) {\n if (R.contains(R.type(component), ['String', 'Number', 'Null', 'Boolean'])) {\n return component;\n }\n\n // Create list of child elements\n var children = void 0;\n\n var componentProps = R.propOr({}, 'props', component);\n\n if (!R.has('props', component) || !R.has('children', component.props) || typeof component.props.children === 'undefined') {\n\n // No children\n children = [];\n } else if (R.contains(R.type(component.props.children), ['String', 'Number', 'Null', 'Boolean'])) {\n\n children = [component.props.children];\n } else {\n\n // One or multiple objects\n // Recursively render the tree\n // TODO - I think we should pass in `key` here.\n children = (Array.isArray(componentProps.children) ? componentProps.children : [componentProps.children]).map(_render);\n }\n\n if (!component.type) {\n /* eslint-disable no-console */\n console.error(R.type(component), component);\n /* eslint-enable no-console */\n throw new Error('component.type is undefined');\n }\n if (!component.namespace) {\n /* eslint-disable no-console */\n console.error(R.type(component), component);\n /* eslint-enable no-console */\n throw new Error('component.namespace is undefined');\n }\n var element = Registry.resolve(component.type, component.namespace);\n\n var parent = React.createElement.apply(React, [element, R.omit(['children'], component.props)].concat(_toConsumableArray(children)));\n\n return React.createElement(\n NotifyObservers,\n { id: componentProps.id },\n parent\n );\n}\n\n_render.propTypes = {\n children: PropTypes.object\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL1RyZWVDb250YWluZXIuanM/M2MwMyJdLCJuYW1lcyI6WyJSIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJSZWdpc3RyeSIsIk5vdGlmeU9ic2VydmVycyIsIlRyZWVDb250YWluZXIiLCJuZXh0UHJvcHMiLCJsYXlvdXQiLCJwcm9wcyIsInJlbmRlciIsInByb3BUeXBlcyIsIm9iamVjdCIsImNvbXBvbmVudCIsImNvbnRhaW5zIiwidHlwZSIsImNoaWxkcmVuIiwiY29tcG9uZW50UHJvcHMiLCJwcm9wT3IiLCJoYXMiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJjb25zb2xlIiwiZXJyb3IiLCJFcnJvciIsIm5hbWVzcGFjZSIsImVsZW1lbnQiLCJyZXNvbHZlIiwicGFyZW50IiwiY3JlYXRlRWxlbWVudCIsIm9taXQiLCJpZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBRUE7O0lBQU9BLEM7O0FBQ1A7O0lBQU9DLEs7O0lBQVFDLFMsVUFBQUEsUzs7QUFDZjs7SUFBT0MsUzs7QUFDUDs7SUFBT0MsUTs7QUFDUDs7SUFBT0MsZTs7Ozs7Ozs7Ozs7O0lBRWNDLGE7Ozs7Ozs7Ozs7OzhDQUNLQyxTLEVBQVc7QUFDN0IsbUJBQU9BLFVBQVVDLE1BQVYsS0FBcUIsS0FBS0MsS0FBTCxDQUFXRCxNQUF2QztBQUNIOzs7aUNBRVE7QUFDTCxtQkFBT0UsUUFBTyxLQUFLRCxLQUFMLENBQVdELE1BQWxCLENBQVA7QUFDSDs7OztFQVBzQ04sUzs7a0JBQXRCSSxhOzs7QUFVckJBLGNBQWNLLFNBQWQsR0FBMEI7QUFDdEJILFlBQVFMLFVBQVVTO0FBREksQ0FBMUI7O0FBSUEsU0FBU0YsT0FBVCxDQUFnQkcsU0FBaEIsRUFBMkI7QUFDdkIsUUFBSWIsRUFBRWMsUUFBRixDQUFXZCxFQUFFZSxJQUFGLENBQU9GLFNBQVAsQ0FBWCxFQUE4QixDQUFDLFFBQUQsRUFBVyxRQUFYLEVBQXFCLE1BQXJCLEVBQTZCLFNBQTdCLENBQTlCLENBQUosRUFBNEU7QUFDeEUsZUFBT0EsU0FBUDtBQUNIOztBQUVEO0FBQ0EsUUFBSUcsaUJBQUo7O0FBRUEsUUFBTUMsaUJBQWlCakIsRUFBRWtCLE1BQUYsQ0FBUyxFQUFULEVBQWEsT0FBYixFQUFzQkwsU0FBdEIsQ0FBdkI7O0FBRUEsUUFBSSxDQUFDYixFQUFFbUIsR0FBRixDQUFNLE9BQU4sRUFBZU4sU0FBZixDQUFELElBQ0EsQ0FBQ2IsRUFBRW1CLEdBQUYsQ0FBTSxVQUFOLEVBQWtCTixVQUFVSixLQUE1QixDQURELElBRUEsT0FBT0ksVUFBVUosS0FBVixDQUFnQk8sUUFBdkIsS0FBb0MsV0FGeEMsRUFFcUQ7O0FBRWpEO0FBQ0FBLG1CQUFXLEVBQVg7QUFFSCxLQVBELE1BT08sSUFBSWhCLEVBQUVjLFFBQUYsQ0FDUGQsRUFBRWUsSUFBRixDQUFPRixVQUFVSixLQUFWLENBQWdCTyxRQUF2QixDQURPLEVBRVAsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixNQUFyQixFQUE2QixTQUE3QixDQUZPLENBQUosRUFHTDs7QUFFRUEsbUJBQVcsQ0FBQ0gsVUFBVUosS0FBVixDQUFnQk8sUUFBakIsQ0FBWDtBQUVILEtBUE0sTUFPQTs7QUFFSDtBQUNBO0FBQ0E7QUFDQUEsbUJBQVcsQ0FBQ0ksTUFBTUMsT0FBTixDQUFjSixlQUFlRCxRQUE3QixJQUNBQyxlQUFlRCxRQURmLEdBQzBCLENBQUNDLGVBQWVELFFBQWhCLENBRDNCLEVBRUVNLEdBRkYsQ0FFTVosT0FGTixDQUFYO0FBSUg7O0FBRUQsUUFBSSxDQUFDRyxVQUFVRSxJQUFmLEVBQXFCO0FBQ2pCO0FBQ0FRLGdCQUFRQyxLQUFSLENBQWN4QixFQUFFZSxJQUFGLENBQU9GLFNBQVAsQ0FBZCxFQUFpQ0EsU0FBakM7QUFDQTtBQUNBLGNBQU0sSUFBSVksS0FBSixDQUFVLDZCQUFWLENBQU47QUFDSDtBQUNELFFBQUksQ0FBQ1osVUFBVWEsU0FBZixFQUEwQjtBQUN0QjtBQUNBSCxnQkFBUUMsS0FBUixDQUFjeEIsRUFBRWUsSUFBRixDQUFPRixTQUFQLENBQWQsRUFBaUNBLFNBQWpDO0FBQ0E7QUFDQSxjQUFNLElBQUlZLEtBQUosQ0FBVSxrQ0FBVixDQUFOO0FBQ0g7QUFDRCxRQUFNRSxVQUFVdkIsU0FBU3dCLE9BQVQsQ0FBaUJmLFVBQVVFLElBQTNCLEVBQWlDRixVQUFVYSxTQUEzQyxDQUFoQjs7QUFFQSxRQUFNRyxTQUFTNUIsTUFBTTZCLGFBQU4sZUFDWEgsT0FEVyxFQUVYM0IsRUFBRStCLElBQUYsQ0FBTyxDQUFDLFVBQUQsQ0FBUCxFQUFxQmxCLFVBQVVKLEtBQS9CLENBRlcsNEJBR1JPLFFBSFEsR0FBZjs7QUFNQSxXQUNJO0FBQUMsdUJBQUQ7QUFBQSxVQUFpQixJQUFJQyxlQUFlZSxFQUFwQztBQUNLSDtBQURMLEtBREo7QUFLSDs7QUFFRG5CLFFBQU9DLFNBQVAsR0FBbUI7QUFDZkssY0FBVWIsVUFBVVM7QUFETCxDQUFuQiIsImZpbGUiOiIuL3NyYy9UcmVlQ29udGFpbmVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXHJcblxyXG5pbXBvcnQgUiBmcm9tICdyYW1kYSc7XHJcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xyXG5pbXBvcnQgUmVnaXN0cnkgZnJvbSAnLi9yZWdpc3RyeSc7XHJcbmltcG9ydCBOb3RpZnlPYnNlcnZlcnMgZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvTm90aWZ5T2JzZXJ2ZXJzLnJlYWN0JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRyZWVDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQge1xyXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xyXG4gICAgICAgIHJldHVybiBuZXh0UHJvcHMubGF5b3V0ICE9PSB0aGlzLnByb3BzLmxheW91dDtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlbmRlcih0aGlzLnByb3BzLmxheW91dCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblRyZWVDb250YWluZXIucHJvcFR5cGVzID0ge1xyXG4gICAgbGF5b3V0OiBQcm9wVHlwZXMub2JqZWN0LFxyXG59XHJcblxyXG5mdW5jdGlvbiByZW5kZXIoY29tcG9uZW50KSB7XHJcbiAgICBpZiAoUi5jb250YWlucyhSLnR5cGUoY29tcG9uZW50KSwgWydTdHJpbmcnLCAnTnVtYmVyJywgJ051bGwnLCAnQm9vbGVhbiddKSkge1xyXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGxpc3Qgb2YgY2hpbGQgZWxlbWVudHNcclxuICAgIGxldCBjaGlsZHJlbjtcclxuXHJcbiAgICBjb25zdCBjb21wb25lbnRQcm9wcyA9IFIucHJvcE9yKHt9LCAncHJvcHMnLCBjb21wb25lbnQpO1xyXG5cclxuICAgIGlmICghUi5oYXMoJ3Byb3BzJywgY29tcG9uZW50KSB8fFxyXG4gICAgICAgICFSLmhhcygnY2hpbGRyZW4nLCBjb21wb25lbnQucHJvcHMpIHx8XHJcbiAgICAgICAgdHlwZW9mIGNvbXBvbmVudC5wcm9wcy5jaGlsZHJlbiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuXHJcbiAgICAgICAgLy8gTm8gY2hpbGRyZW5cclxuICAgICAgICBjaGlsZHJlbiA9IFtdO1xyXG5cclxuICAgIH0gZWxzZSBpZiAoUi5jb250YWlucyhcclxuICAgICAgICBSLnR5cGUoY29tcG9uZW50LnByb3BzLmNoaWxkcmVuKSxcclxuICAgICAgICBbJ1N0cmluZycsICdOdW1iZXInLCAnTnVsbCcsICdCb29sZWFuJ10pXHJcbiAgICApIHtcclxuXHJcbiAgICAgICAgY2hpbGRyZW4gPSBbY29tcG9uZW50LnByb3BzLmNoaWxkcmVuXTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgICAvLyBPbmUgb3IgbXVsdGlwbGUgb2JqZWN0c1xyXG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IHJlbmRlciB0aGUgdHJlZVxyXG4gICAgICAgIC8vIFRPRE8gLSBJIHRoaW5rIHdlIHNob3VsZCBwYXNzIGluIGBrZXlgIGhlcmUuXHJcbiAgICAgICAgY2hpbGRyZW4gPSAoQXJyYXkuaXNBcnJheShjb21wb25lbnRQcm9wcy5jaGlsZHJlbikgP1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzLmNoaWxkcmVuIDogW2NvbXBvbmVudFByb3BzLmNoaWxkcmVuXSlcclxuICAgICAgICAgICAgICAgICAgICAubWFwKHJlbmRlcik7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGlmICghY29tcG9uZW50LnR5cGUpIHtcclxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihSLnR5cGUoY29tcG9uZW50KSwgY29tcG9uZW50KTtcclxuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbXBvbmVudC50eXBlIGlzIHVuZGVmaW5lZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjb21wb25lbnQubmFtZXNwYWNlKSB7XHJcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoUi50eXBlKGNvbXBvbmVudCksIGNvbXBvbmVudCk7XHJcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1jb25zb2xlICovXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wb25lbnQubmFtZXNwYWNlIGlzIHVuZGVmaW5lZCcpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWxlbWVudCA9IFJlZ2lzdHJ5LnJlc29sdmUoY29tcG9uZW50LnR5cGUsIGNvbXBvbmVudC5uYW1lc3BhY2UpO1xyXG5cclxuICAgIGNvbnN0IHBhcmVudCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgZWxlbWVudCxcclxuICAgICAgICBSLm9taXQoWydjaGlsZHJlbiddLCBjb21wb25lbnQucHJvcHMpLFxyXG4gICAgICAgIC4uLmNoaWxkcmVuXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPE5vdGlmeU9ic2VydmVycyBpZD17Y29tcG9uZW50UHJvcHMuaWR9PlxyXG4gICAgICAgICAgICB7cGFyZW50fVxyXG4gICAgICAgIDwvTm90aWZ5T2JzZXJ2ZXJzPlxyXG4gICAgKTtcclxufVxyXG5cclxucmVuZGVyLnByb3BUeXBlcyA9IHtcclxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub2JqZWN0XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/TreeContainer.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _ramda2 = _interopRequireDefault(_ramda);\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _registry = __webpack_require__(/*! ./registry */ \"./src/registry.js\");\n\nvar _registry2 = _interopRequireDefault(_registry);\n\nvar _NotifyObservers = __webpack_require__(/*! ./components/core/NotifyObservers.react */ \"./src/components/core/NotifyObservers.react.js\");\n\nvar _NotifyObservers2 = _interopRequireDefault(_NotifyObservers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TreeContainer = function (_Component) {\n _inherits(TreeContainer, _Component);\n\n function TreeContainer() {\n _classCallCheck(this, TreeContainer);\n\n return _possibleConstructorReturn(this, (TreeContainer.__proto__ || Object.getPrototypeOf(TreeContainer)).apply(this, arguments));\n }\n\n _createClass(TreeContainer, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return nextProps.layout !== this.props.layout;\n }\n }, {\n key: 'render',\n value: function render() {\n return _render(this.props.layout);\n }\n }]);\n\n return TreeContainer;\n}(_react.Component);\n\nexports.default = TreeContainer;\n\n\nTreeContainer.propTypes = {\n layout: _propTypes2.default.object\n};\n\nfunction _render(component) {\n if (_ramda2.default.contains(_ramda2.default.type(component), ['String', 'Number', 'Null', 'Boolean'])) {\n return component;\n }\n\n // Create list of child elements\n var children = void 0;\n\n var componentProps = _ramda2.default.propOr({}, 'props', component);\n\n if (!_ramda2.default.has('props', component) || !_ramda2.default.has('children', component.props) || typeof component.props.children === 'undefined') {\n // No children\n children = [];\n } else if (_ramda2.default.contains(_ramda2.default.type(component.props.children), ['String', 'Number', 'Null', 'Boolean'])) {\n children = [component.props.children];\n } else {\n // One or multiple objects\n // Recursively render the tree\n // TODO - I think we should pass in `key` here.\n children = (Array.isArray(componentProps.children) ? componentProps.children : [componentProps.children]).map(_render);\n }\n\n if (!component.type) {\n /* eslint-disable no-console */\n console.error(_ramda2.default.type(component), component);\n /* eslint-enable no-console */\n throw new Error('component.type is undefined');\n }\n if (!component.namespace) {\n /* eslint-disable no-console */\n console.error(_ramda2.default.type(component), component);\n /* eslint-enable no-console */\n throw new Error('component.namespace is undefined');\n }\n var element = _registry2.default.resolve(component.type, component.namespace);\n\n var parent = _react2.default.createElement.apply(_react2.default, [element, _ramda2.default.omit(['children'], component.props)].concat(_toConsumableArray(children)));\n\n return _react2.default.createElement(\n _NotifyObservers2.default,\n { id: componentProps.id },\n parent\n );\n}\n\n_render.propTypes = {\n children: _propTypes2.default.object\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL1RyZWVDb250YWluZXIuanM/M2MwMyJdLCJuYW1lcyI6WyJUcmVlQ29udGFpbmVyIiwibmV4dFByb3BzIiwibGF5b3V0IiwicHJvcHMiLCJyZW5kZXIiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJjb21wb25lbnQiLCJSIiwiY29udGFpbnMiLCJ0eXBlIiwiY2hpbGRyZW4iLCJjb21wb25lbnRQcm9wcyIsInByb3BPciIsImhhcyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImNvbnNvbGUiLCJlcnJvciIsIkVycm9yIiwibmFtZXNwYWNlIiwiZWxlbWVudCIsIlJlZ2lzdHJ5IiwicmVzb2x2ZSIsInBhcmVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIm9taXQiLCJpZCJdLCJtYXBwaW5ncyI6IkFBQWE7Ozs7Ozs7O0FBRWI7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7SUFFcUJBLGE7Ozs7Ozs7Ozs7OzhDQUNLQyxTLEVBQVc7QUFDN0IsbUJBQU9BLFVBQVVDLE1BQVYsS0FBcUIsS0FBS0MsS0FBTCxDQUFXRCxNQUF2QztBQUNIOzs7aUNBRVE7QUFDTCxtQkFBT0UsUUFBTyxLQUFLRCxLQUFMLENBQVdELE1BQWxCLENBQVA7QUFDSDs7OztFQVBzQ0csZ0I7O2tCQUF0QkwsYTs7O0FBVXJCQSxjQUFjTSxTQUFkLEdBQTBCO0FBQ3RCSixZQUFRSyxvQkFBVUM7QUFESSxDQUExQjs7QUFJQSxTQUFTSixPQUFULENBQWdCSyxTQUFoQixFQUEyQjtBQUN2QixRQUNJQyxnQkFBRUMsUUFBRixDQUFXRCxnQkFBRUUsSUFBRixDQUFPSCxTQUFQLENBQVgsRUFBOEIsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixNQUFyQixFQUE2QixTQUE3QixDQUE5QixDQURKLEVBRUU7QUFDRSxlQUFPQSxTQUFQO0FBQ0g7O0FBRUQ7QUFDQSxRQUFJSSxpQkFBSjs7QUFFQSxRQUFNQyxpQkFBaUJKLGdCQUFFSyxNQUFGLENBQVMsRUFBVCxFQUFhLE9BQWIsRUFBc0JOLFNBQXRCLENBQXZCOztBQUVBLFFBQ0ksQ0FBQ0MsZ0JBQUVNLEdBQUYsQ0FBTSxPQUFOLEVBQWVQLFNBQWYsQ0FBRCxJQUNBLENBQUNDLGdCQUFFTSxHQUFGLENBQU0sVUFBTixFQUFrQlAsVUFBVU4sS0FBNUIsQ0FERCxJQUVBLE9BQU9NLFVBQVVOLEtBQVYsQ0FBZ0JVLFFBQXZCLEtBQW9DLFdBSHhDLEVBSUU7QUFDRTtBQUNBQSxtQkFBVyxFQUFYO0FBQ0gsS0FQRCxNQU9PLElBQ0hILGdCQUFFQyxRQUFGLENBQVdELGdCQUFFRSxJQUFGLENBQU9ILFVBQVVOLEtBQVYsQ0FBZ0JVLFFBQXZCLENBQVgsRUFBNkMsQ0FDekMsUUFEeUMsRUFFekMsUUFGeUMsRUFHekMsTUFIeUMsRUFJekMsU0FKeUMsQ0FBN0MsQ0FERyxFQU9MO0FBQ0VBLG1CQUFXLENBQUNKLFVBQVVOLEtBQVYsQ0FBZ0JVLFFBQWpCLENBQVg7QUFDSCxLQVRNLE1BU0E7QUFDSDtBQUNBO0FBQ0E7QUFDQUEsbUJBQVcsQ0FBQ0ksTUFBTUMsT0FBTixDQUFjSixlQUFlRCxRQUE3QixJQUNOQyxlQUFlRCxRQURULEdBRU4sQ0FBQ0MsZUFBZUQsUUFBaEIsQ0FGSyxFQUdUTSxHQUhTLENBR0xmLE9BSEssQ0FBWDtBQUlIOztBQUVELFFBQUksQ0FBQ0ssVUFBVUcsSUFBZixFQUFxQjtBQUNqQjtBQUNBUSxnQkFBUUMsS0FBUixDQUFjWCxnQkFBRUUsSUFBRixDQUFPSCxTQUFQLENBQWQsRUFBaUNBLFNBQWpDO0FBQ0E7QUFDQSxjQUFNLElBQUlhLEtBQUosQ0FBVSw2QkFBVixDQUFOO0FBQ0g7QUFDRCxRQUFJLENBQUNiLFVBQVVjLFNBQWYsRUFBMEI7QUFDdEI7QUFDQUgsZ0JBQVFDLEtBQVIsQ0FBY1gsZ0JBQUVFLElBQUYsQ0FBT0gsU0FBUCxDQUFkLEVBQWlDQSxTQUFqQztBQUNBO0FBQ0EsY0FBTSxJQUFJYSxLQUFKLENBQVUsa0NBQVYsQ0FBTjtBQUNIO0FBQ0QsUUFBTUUsVUFBVUMsbUJBQVNDLE9BQVQsQ0FBaUJqQixVQUFVRyxJQUEzQixFQUFpQ0gsVUFBVWMsU0FBM0MsQ0FBaEI7O0FBRUEsUUFBTUksU0FBU0MsZ0JBQU1DLGFBQU4seUJBQ1hMLE9BRFcsRUFFWGQsZ0JBQUVvQixJQUFGLENBQU8sQ0FBQyxVQUFELENBQVAsRUFBcUJyQixVQUFVTixLQUEvQixDQUZXLDRCQUdSVSxRQUhRLEdBQWY7O0FBTUEsV0FBTztBQUFDLGlDQUFEO0FBQUEsVUFBaUIsSUFBSUMsZUFBZWlCLEVBQXBDO0FBQXlDSjtBQUF6QyxLQUFQO0FBQ0g7O0FBRUR2QixRQUFPRSxTQUFQLEdBQW1CO0FBQ2ZPLGNBQVVOLG9CQUFVQztBQURMLENBQW5CIiwiZmlsZSI6Ii4vc3JjL1RyZWVDb250YWluZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBSIGZyb20gJ3JhbWRhJztcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWdpc3RyeSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCBOb3RpZnlPYnNlcnZlcnMgZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvTm90aWZ5T2JzZXJ2ZXJzLnJlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJlZUNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgICByZXR1cm4gbmV4dFByb3BzLmxheW91dCAhPT0gdGhpcy5wcm9wcy5sYXlvdXQ7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gcmVuZGVyKHRoaXMucHJvcHMubGF5b3V0KTtcbiAgICB9XG59XG5cblRyZWVDb250YWluZXIucHJvcFR5cGVzID0ge1xuICAgIGxheW91dDogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmZ1bmN0aW9uIHJlbmRlcihjb21wb25lbnQpIHtcbiAgICBpZiAoXG4gICAgICAgIFIuY29udGFpbnMoUi50eXBlKGNvbXBvbmVudCksIFsnU3RyaW5nJywgJ051bWJlcicsICdOdWxsJywgJ0Jvb2xlYW4nXSlcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbGlzdCBvZiBjaGlsZCBlbGVtZW50c1xuICAgIGxldCBjaGlsZHJlbjtcblxuICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0gUi5wcm9wT3Ioe30sICdwcm9wcycsIGNvbXBvbmVudCk7XG5cbiAgICBpZiAoXG4gICAgICAgICFSLmhhcygncHJvcHMnLCBjb21wb25lbnQpIHx8XG4gICAgICAgICFSLmhhcygnY2hpbGRyZW4nLCBjb21wb25lbnQucHJvcHMpIHx8XG4gICAgICAgIHR5cGVvZiBjb21wb25lbnQucHJvcHMuY2hpbGRyZW4gPT09ICd1bmRlZmluZWQnXG4gICAgKSB7XG4gICAgICAgIC8vIE5vIGNoaWxkcmVuXG4gICAgICAgIGNoaWxkcmVuID0gW107XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICAgUi5jb250YWlucyhSLnR5cGUoY29tcG9uZW50LnByb3BzLmNoaWxkcmVuKSwgW1xuICAgICAgICAgICAgJ1N0cmluZycsXG4gICAgICAgICAgICAnTnVtYmVyJyxcbiAgICAgICAgICAgICdOdWxsJyxcbiAgICAgICAgICAgICdCb29sZWFuJyxcbiAgICAgICAgXSlcbiAgICApIHtcbiAgICAgICAgY2hpbGRyZW4gPSBbY29tcG9uZW50LnByb3BzLmNoaWxkcmVuXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBPbmUgb3IgbXVsdGlwbGUgb2JqZWN0c1xuICAgICAgICAvLyBSZWN1cnNpdmVseSByZW5kZXIgdGhlIHRyZWVcbiAgICAgICAgLy8gVE9ETyAtIEkgdGhpbmsgd2Ugc2hvdWxkIHBhc3MgaW4gYGtleWAgaGVyZS5cbiAgICAgICAgY2hpbGRyZW4gPSAoQXJyYXkuaXNBcnJheShjb21wb25lbnRQcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgID8gY29tcG9uZW50UHJvcHMuY2hpbGRyZW5cbiAgICAgICAgICAgIDogW2NvbXBvbmVudFByb3BzLmNoaWxkcmVuXVxuICAgICAgICApLm1hcChyZW5kZXIpO1xuICAgIH1cblxuICAgIGlmICghY29tcG9uZW50LnR5cGUpIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuICAgICAgICBjb25zb2xlLmVycm9yKFIudHlwZShjb21wb25lbnQpLCBjb21wb25lbnQpO1xuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wb25lbnQudHlwZSBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKCFjb21wb25lbnQubmFtZXNwYWNlKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS5lcnJvcihSLnR5cGUoY29tcG9uZW50KSwgY29tcG9uZW50KTtcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1jb25zb2xlICovXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY29tcG9uZW50Lm5hbWVzcGFjZSBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgY29uc3QgZWxlbWVudCA9IFJlZ2lzdHJ5LnJlc29sdmUoY29tcG9uZW50LnR5cGUsIGNvbXBvbmVudC5uYW1lc3BhY2UpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgUi5vbWl0KFsnY2hpbGRyZW4nXSwgY29tcG9uZW50LnByb3BzKSxcbiAgICAgICAgLi4uY2hpbGRyZW5cbiAgICApO1xuXG4gICAgcmV0dXJuIDxOb3RpZnlPYnNlcnZlcnMgaWQ9e2NvbXBvbmVudFByb3BzLmlkfT57cGFyZW50fTwvTm90aWZ5T2JzZXJ2ZXJzPjtcbn1cblxucmVuZGVyLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm9iamVjdCxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/TreeContainer.js\n"); /***/ }), @@ -5258,7 +5222,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLayout = getLayout;\nexports.getDependencies = getDependencies;\nexports.login = login;\n\nvar _cookie = __webpack_require__(/*! cookie */ \"./node_modules/cookie/index.js\");\n\nvar cookie = _interopRequireDefault(_cookie).default;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar merge = _ramda.merge;\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\nvar urlBase = _utils.urlBase;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction GET(path) {\n return fetch(path, {\n method: 'GET',\n credentials: 'same-origin',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token\n }\n });\n} /* global fetch: true, document: true */\n\n\nfunction POST(path) {\n var body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return fetch(path, {\n method: 'POST',\n credentials: 'same-origin',\n headers: merge({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token\n }, headers),\n body: body ? JSON.stringify(body) : null\n });\n}\n\nvar request = { GET: GET, POST: POST };\n\nfunction apiThunk(endpoint, method, store, id, body) {\n var headers = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n return function (dispatch, getState) {\n var config = getState().config;\n\n dispatch({\n type: store,\n payload: { id: id, status: 'loading' }\n });\n return request[method]('' + urlBase(config) + endpoint, body, headers).then(function (res) {\n var contentType = res.headers.get(\"content-type\");\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\n return res.json().then(function (json) {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id: id\n }\n });\n return json;\n });\n } else {\n dispatch({\n type: store,\n payload: {\n id: id,\n status: res.status\n }\n });\n }\n }).catch(function (err) {\n /* eslint-disable no-console */\n console.error(err);\n /* eslint-enable no-console */\n dispatch({\n type: store,\n payload: {\n id: id,\n status: 500\n }\n });\n });\n };\n}\n\nfunction getLayout() {\n return apiThunk('_dash-layout', 'GET', 'layoutRequest');\n}\n\nfunction getDependencies() {\n return apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest');\n}\n\nfunction login(oauth_token) {\n return apiThunk('_dash-login', 'POST', 'loginRequest', undefined, undefined, { 'Authorization': 'Bearer ' + oauth_token });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvYXBpLmpzPzE2NjciXSwibmFtZXMiOlsiZ2V0TGF5b3V0IiwiZ2V0RGVwZW5kZW5jaWVzIiwibG9naW4iLCJjb29raWUiLCJtZXJnZSIsInVybEJhc2UiLCJHRVQiLCJwYXRoIiwiZmV0Y2giLCJtZXRob2QiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJwYXJzZSIsImRvY3VtZW50IiwiX2NzcmZfdG9rZW4iLCJQT1NUIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXF1ZXN0IiwiYXBpVGh1bmsiLCJlbmRwb2ludCIsInN0b3JlIiwiaWQiLCJkaXNwYXRjaCIsImdldFN0YXRlIiwiY29uZmlnIiwidHlwZSIsInBheWxvYWQiLCJzdGF0dXMiLCJ0aGVuIiwiY29udGVudFR5cGUiLCJyZXMiLCJnZXQiLCJpbmRleE9mIiwianNvbiIsImNvbnRlbnQiLCJjYXRjaCIsImNvbnNvbGUiLCJlcnJvciIsImVyciIsIm9hdXRoX3Rva2VuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7OztRQWtGZ0JBLFMsR0FBQUEsUztRQVFBQyxlLEdBQUFBLGU7UUFRQUMsSyxHQUFBQSxLOztBQWpHaEI7O0lBQU9DLE07O0FBQ1A7O0lBQVFDLEssVUFBQUEsSzs7QUFDUjs7SUFBUUMsTyxVQUFBQSxPOzs7O0FBRVIsU0FBU0MsR0FBVCxDQUFhQyxJQUFiLEVBQW1CO0FBQ2YsV0FBT0MsTUFBTUQsSUFBTixFQUFZO0FBQ2ZFLGdCQUFRLEtBRE87QUFFZkMscUJBQWEsYUFGRTtBQUdmQyxpQkFBUztBQUNMLHNCQUFVLGtCQURMO0FBRUwsNEJBQWdCLGtCQUZYO0FBR0wsMkJBQWVSLE9BQU9TLEtBQVAsQ0FBYUMsU0FBU1YsTUFBdEIsRUFBOEJXO0FBSHhDO0FBSE0sS0FBWixDQUFQO0FBU0gsQyxDQWZEOzs7QUFpQkEsU0FBU0MsSUFBVCxDQUFjUixJQUFkLEVBQTJDO0FBQUEsUUFBdkJTLElBQXVCLHVFQUFoQixFQUFnQjtBQUFBLFFBQVpMLE9BQVksdUVBQUosRUFBSTs7QUFDdkMsV0FBT0gsTUFBTUQsSUFBTixFQUFZO0FBQ2ZFLGdCQUFRLE1BRE87QUFFZkMscUJBQWEsYUFGRTtBQUdmQyxpQkFBU1AsTUFBTTtBQUNYLHNCQUFVLGtCQURDO0FBRVgsNEJBQWdCLGtCQUZMO0FBR1gsMkJBQWVELE9BQU9TLEtBQVAsQ0FBYUMsU0FBU1YsTUFBdEIsRUFBOEJXO0FBSGxDLFNBQU4sRUFJTkgsT0FKTSxDQUhNO0FBUWZLLGNBQU1BLE9BQU9DLEtBQUtDLFNBQUwsQ0FBZUYsSUFBZixDQUFQLEdBQThCO0FBUnJCLEtBQVosQ0FBUDtBQVVIOztBQUVELElBQU1HLFVBQVUsRUFBQ2IsUUFBRCxFQUFNUyxVQUFOLEVBQWhCOztBQUdBLFNBQVNLLFFBQVQsQ0FBa0JDLFFBQWxCLEVBQTRCWixNQUE1QixFQUFvQ2EsS0FBcEMsRUFBMkNDLEVBQTNDLEVBQStDUCxJQUEvQyxFQUFpRTtBQUFBLFFBQVpMLE9BQVksdUVBQUosRUFBSTs7QUFDN0QsV0FBTyxVQUFDYSxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDM0IsWUFBTUMsU0FBU0QsV0FBV0MsTUFBMUI7O0FBRUFGLGlCQUFTO0FBQ0xHLGtCQUFNTCxLQUREO0FBRUxNLHFCQUFTLEVBQUNMLE1BQUQsRUFBS00sUUFBUSxTQUFiO0FBRkosU0FBVDtBQUlBLGVBQU9WLFFBQVFWLE1BQVIsT0FBbUJKLFFBQVFxQixNQUFSLENBQW5CLEdBQXFDTCxRQUFyQyxFQUFpREwsSUFBakQsRUFBdURMLE9BQXZELEVBQ05tQixJQURNLENBQ0QsZUFBTztBQUNULGdCQUFNQyxjQUFjQyxJQUFJckIsT0FBSixDQUFZc0IsR0FBWixDQUFnQixjQUFoQixDQUFwQjtBQUNBLGdCQUFHRixlQUFlQSxZQUFZRyxPQUFaLENBQW9CLGtCQUFwQixNQUE0QyxDQUFDLENBQS9ELEVBQWtFO0FBQzlELHVCQUFPRixJQUFJRyxJQUFKLEdBQVdMLElBQVgsQ0FDSCxnQkFBUTtBQUNKTiw2QkFBUztBQUNMRyw4QkFBTUwsS0FERDtBQUVMTSxpQ0FBUztBQUNMQyxvQ0FBUUcsSUFBSUgsTUFEUDtBQUVMTyxxQ0FBU0QsSUFGSjtBQUdMWjtBQUhLO0FBRkoscUJBQVQ7QUFRQSwyQkFBT1ksSUFBUDtBQUNILGlCQVhFLENBQVA7QUFhSCxhQWRELE1BY087QUFDSFgseUJBQVM7QUFDTEcsMEJBQU1MLEtBREQ7QUFFTE0sNkJBQVM7QUFDTEwsOEJBREs7QUFFTE0sZ0NBQVFHLElBQUlIO0FBRlA7QUFGSixpQkFBVDtBQU9IO0FBQ0osU0ExQk0sRUEwQkpRLEtBMUJJLENBMEJFLGVBQU87QUFDWjtBQUNBQyxvQkFBUUMsS0FBUixDQUFjQyxHQUFkO0FBQ0E7QUFDQWhCLHFCQUFTO0FBQ0xHLHNCQUFNTCxLQUREO0FBRUxNLHlCQUFTO0FBQ0xMLDBCQURLO0FBRUxNLDRCQUFRO0FBRkg7QUFGSixhQUFUO0FBT0gsU0FyQ00sQ0FBUDtBQXNDSCxLQTdDRDtBQThDSDs7QUFFTSxTQUFTN0IsU0FBVCxHQUFxQjtBQUN4QixXQUFPb0IsU0FDSCxjQURHLEVBRUgsS0FGRyxFQUdILGVBSEcsQ0FBUDtBQUtIOztBQUVNLFNBQVNuQixlQUFULEdBQTJCO0FBQzlCLFdBQU9tQixTQUNILG9CQURHLEVBRUgsS0FGRyxFQUdILHFCQUhHLENBQVA7QUFLSDs7QUFFTSxTQUFTbEIsS0FBVCxDQUFldUMsV0FBZixFQUE0QjtBQUMvQixXQUFPckIsU0FDSCxhQURHLEVBRUgsTUFGRyxFQUdILGNBSEcsRUFJSHNCLFNBSkcsRUFLSEEsU0FMRyxFQU1ILEVBQUMsNkJBQTJCRCxXQUE1QixFQU5HLENBQVA7QUFRSCIsImZpbGUiOiIuL3NyYy9hY3Rpb25zL2FwaS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBmZXRjaDogdHJ1ZSwgZG9jdW1lbnQ6IHRydWUgKi9cclxuaW1wb3J0IGNvb2tpZSBmcm9tICdjb29raWUnO1xyXG5pbXBvcnQge21lcmdlfSBmcm9tICdyYW1kYSc7XHJcbmltcG9ydCB7dXJsQmFzZX0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuZnVuY3Rpb24gR0VUKHBhdGgpIHtcclxuICAgIHJldHVybiBmZXRjaChwYXRoLCB7XHJcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyxcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICdYLUNTUkZUb2tlbic6IGNvb2tpZS5wYXJzZShkb2N1bWVudC5jb29raWUpLl9jc3JmX3Rva2VuXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFBPU1QocGF0aCwgYm9keSA9IHt9LCBoZWFkZXJzPXt9KSB7XHJcbiAgICByZXR1cm4gZmV0Y2gocGF0aCwge1xyXG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxyXG4gICAgICAgIGhlYWRlcnM6IG1lcmdlKHtcclxuICAgICAgICAgICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgJ1gtQ1NSRlRva2VuJzogY29va2llLnBhcnNlKGRvY3VtZW50LmNvb2tpZSkuX2NzcmZfdG9rZW5cclxuICAgICAgICB9LCBoZWFkZXJzKSxcclxuICAgICAgICBib2R5OiBib2R5ID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBudWxsXHJcbiAgICB9KTtcclxufVxyXG5cclxuY29uc3QgcmVxdWVzdCA9IHtHRVQsIFBPU1R9O1xyXG5cclxuXHJcbmZ1bmN0aW9uIGFwaVRodW5rKGVuZHBvaW50LCBtZXRob2QsIHN0b3JlLCBpZCwgYm9keSwgaGVhZGVycz17fSkge1xyXG4gICAgcmV0dXJuIChkaXNwYXRjaCwgZ2V0U3RhdGUpID0+IHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSBnZXRTdGF0ZSgpLmNvbmZpZztcclxuXHJcbiAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICB0eXBlOiBzdG9yZSxcclxuICAgICAgICAgICAgcGF5bG9hZDoge2lkLCBzdGF0dXM6ICdsb2FkaW5nJ31cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVxdWVzdFttZXRob2RdKGAke3VybEJhc2UoY29uZmlnKX0ke2VuZHBvaW50fWAsIGJvZHksIGhlYWRlcnMpXHJcbiAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSByZXMuaGVhZGVycy5nZXQoXCJjb250ZW50LXR5cGVcIik7XHJcbiAgICAgICAgICAgIGlmKGNvbnRlbnRUeXBlICYmIGNvbnRlbnRUeXBlLmluZGV4T2YoXCJhcHBsaWNhdGlvbi9qc29uXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5qc29uKCkudGhlbihcclxuICAgICAgICAgICAgICAgICAgICBqc29uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGpzb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBqc29uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBzdG9yZSxcclxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cclxuICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogc3RvcmUsXHJcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiA1MDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIGFwaVRodW5rKFxyXG4gICAgICAgICdfZGFzaC1sYXlvdXQnLFxyXG4gICAgICAgICdHRVQnLFxyXG4gICAgICAgICdsYXlvdXRSZXF1ZXN0J1xyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERlcGVuZGVuY2llcygpIHtcclxuICAgIHJldHVybiBhcGlUaHVuayhcclxuICAgICAgICAnX2Rhc2gtZGVwZW5kZW5jaWVzJyxcclxuICAgICAgICAnR0VUJyxcclxuICAgICAgICAnZGVwZW5kZW5jaWVzUmVxdWVzdCdcclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2dpbihvYXV0aF90b2tlbikge1xyXG4gICAgcmV0dXJuIGFwaVRodW5rKFxyXG4gICAgICAgICdfZGFzaC1sb2dpbicsXHJcbiAgICAgICAgJ1BPU1QnLFxyXG4gICAgICAgICdsb2dpblJlcXVlc3QnLFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgeydBdXRob3JpemF0aW9uJzogYEJlYXJlciAke29hdXRoX3Rva2VufWB9XHJcbiAgICApO1xyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/actions/api.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLayout = getLayout;\nexports.getDependencies = getDependencies;\nexports.login = login;\n\nvar _cookie = __webpack_require__(/*! cookie */ \"./node_modules/cookie/index.js\");\n\nvar _cookie2 = _interopRequireDefault(_cookie);\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction GET(path) {\n return fetch(path, {\n method: 'GET',\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'X-CSRFToken': _cookie2.default.parse(document.cookie)._csrf_token\n }\n });\n} /* global fetch: true, document: true */\n\n\nfunction POST(path) {\n var body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return fetch(path, {\n method: 'POST',\n credentials: 'same-origin',\n headers: (0, _ramda.merge)({\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'X-CSRFToken': _cookie2.default.parse(document.cookie)._csrf_token\n }, headers),\n body: body ? JSON.stringify(body) : null\n });\n}\n\nvar request = { GET: GET, POST: POST };\n\nfunction apiThunk(endpoint, method, store, id, body) {\n var headers = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n return function (dispatch, getState) {\n var config = getState().config;\n\n dispatch({\n type: store,\n payload: { id: id, status: 'loading' }\n });\n return request[method]('' + (0, _utils.urlBase)(config) + endpoint, body, headers).then(function (res) {\n var contentType = res.headers.get('content-type');\n if (contentType && contentType.indexOf('application/json') !== -1) {\n return res.json().then(function (json) {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id: id\n }\n });\n return json;\n });\n }\n return dispatch({\n type: store,\n payload: {\n id: id,\n status: res.status\n }\n });\n }).catch(function (err) {\n /* eslint-disable no-console */\n console.error(err);\n /* eslint-enable no-console */\n dispatch({\n type: store,\n payload: {\n id: id,\n status: 500\n }\n });\n });\n };\n}\n\nfunction getLayout() {\n return apiThunk('_dash-layout', 'GET', 'layoutRequest');\n}\n\nfunction getDependencies() {\n return apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest');\n}\n\nfunction login(oauth_token) {\n return apiThunk('_dash-login', 'POST', 'loginRequest', '', '', {\n Authorization: 'Bearer ' + oauth_token\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvYXBpLmpzPzE2NjciXSwibmFtZXMiOlsiZ2V0TGF5b3V0IiwiZ2V0RGVwZW5kZW5jaWVzIiwibG9naW4iLCJHRVQiLCJwYXRoIiwiZmV0Y2giLCJtZXRob2QiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJBY2NlcHQiLCJjb29raWUiLCJwYXJzZSIsImRvY3VtZW50IiwiX2NzcmZfdG9rZW4iLCJQT1NUIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXF1ZXN0IiwiYXBpVGh1bmsiLCJlbmRwb2ludCIsInN0b3JlIiwiaWQiLCJkaXNwYXRjaCIsImdldFN0YXRlIiwiY29uZmlnIiwidHlwZSIsInBheWxvYWQiLCJzdGF0dXMiLCJ0aGVuIiwiY29udGVudFR5cGUiLCJyZXMiLCJnZXQiLCJpbmRleE9mIiwianNvbiIsImNvbnRlbnQiLCJjYXRjaCIsImNvbnNvbGUiLCJlcnJvciIsImVyciIsIm9hdXRoX3Rva2VuIiwiQXV0aG9yaXphdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7UUFxRmdCQSxTLEdBQUFBLFM7UUFJQUMsZSxHQUFBQSxlO1FBSUFDLEssR0FBQUEsSzs7QUE1RmhCOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxTQUFTQyxHQUFULENBQWFDLElBQWIsRUFBbUI7QUFDZixXQUFPQyxNQUFNRCxJQUFOLEVBQVk7QUFDZkUsZ0JBQVEsS0FETztBQUVmQyxxQkFBYSxhQUZFO0FBR2ZDLGlCQUFTO0FBQ0xDLG9CQUFRLGtCQURIO0FBRUwsNEJBQWdCLGtCQUZYO0FBR0wsMkJBQWVDLGlCQUFPQyxLQUFQLENBQWFDLFNBQVNGLE1BQXRCLEVBQThCRztBQUh4QztBQUhNLEtBQVosQ0FBUDtBQVNILEMsQ0FmRDs7O0FBaUJBLFNBQVNDLElBQVQsQ0FBY1YsSUFBZCxFQUE2QztBQUFBLFFBQXpCVyxJQUF5Qix1RUFBbEIsRUFBa0I7QUFBQSxRQUFkUCxPQUFjLHVFQUFKLEVBQUk7O0FBQ3pDLFdBQU9ILE1BQU1ELElBQU4sRUFBWTtBQUNmRSxnQkFBUSxNQURPO0FBRWZDLHFCQUFhLGFBRkU7QUFHZkMsaUJBQVMsa0JBQ0w7QUFDSUMsb0JBQVEsa0JBRFo7QUFFSSw0QkFBZ0Isa0JBRnBCO0FBR0ksMkJBQWVDLGlCQUFPQyxLQUFQLENBQWFDLFNBQVNGLE1BQXRCLEVBQThCRztBQUhqRCxTQURLLEVBTUxMLE9BTkssQ0FITTtBQVdmTyxjQUFNQSxPQUFPQyxLQUFLQyxTQUFMLENBQWVGLElBQWYsQ0FBUCxHQUE4QjtBQVhyQixLQUFaLENBQVA7QUFhSDs7QUFFRCxJQUFNRyxVQUFVLEVBQUNmLFFBQUQsRUFBTVcsVUFBTixFQUFoQjs7QUFFQSxTQUFTSyxRQUFULENBQWtCQyxRQUFsQixFQUE0QmQsTUFBNUIsRUFBb0NlLEtBQXBDLEVBQTJDQyxFQUEzQyxFQUErQ1AsSUFBL0MsRUFBbUU7QUFBQSxRQUFkUCxPQUFjLHVFQUFKLEVBQUk7O0FBQy9ELFdBQU8sVUFBQ2UsUUFBRCxFQUFXQyxRQUFYLEVBQXdCO0FBQzNCLFlBQU1DLFNBQVNELFdBQVdDLE1BQTFCOztBQUVBRixpQkFBUztBQUNMRyxrQkFBTUwsS0FERDtBQUVMTSxxQkFBUyxFQUFDTCxNQUFELEVBQUtNLFFBQVEsU0FBYjtBQUZKLFNBQVQ7QUFJQSxlQUFPVixRQUFRWixNQUFSLE9BQW1CLG9CQUFRbUIsTUFBUixDQUFuQixHQUFxQ0wsUUFBckMsRUFBaURMLElBQWpELEVBQXVEUCxPQUF2RCxFQUNGcUIsSUFERSxDQUNHLGVBQU87QUFDVCxnQkFBTUMsY0FBY0MsSUFBSXZCLE9BQUosQ0FBWXdCLEdBQVosQ0FBZ0IsY0FBaEIsQ0FBcEI7QUFDQSxnQkFDSUYsZUFDQUEsWUFBWUcsT0FBWixDQUFvQixrQkFBcEIsTUFBNEMsQ0FBQyxDQUZqRCxFQUdFO0FBQ0UsdUJBQU9GLElBQUlHLElBQUosR0FBV0wsSUFBWCxDQUFnQixnQkFBUTtBQUMzQk4sNkJBQVM7QUFDTEcsOEJBQU1MLEtBREQ7QUFFTE0saUNBQVM7QUFDTEMsb0NBQVFHLElBQUlILE1BRFA7QUFFTE8scUNBQVNELElBRko7QUFHTFo7QUFISztBQUZKLHFCQUFUO0FBUUEsMkJBQU9ZLElBQVA7QUFDSCxpQkFWTSxDQUFQO0FBV0g7QUFDRCxtQkFBT1gsU0FBUztBQUNaRyxzQkFBTUwsS0FETTtBQUVaTSx5QkFBUztBQUNMTCwwQkFESztBQUVMTSw0QkFBUUcsSUFBSUg7QUFGUDtBQUZHLGFBQVQsQ0FBUDtBQU9ILFNBMUJFLEVBMkJGUSxLQTNCRSxDQTJCSSxlQUFPO0FBQ1Y7QUFDQUMsb0JBQVFDLEtBQVIsQ0FBY0MsR0FBZDtBQUNBO0FBQ0FoQixxQkFBUztBQUNMRyxzQkFBTUwsS0FERDtBQUVMTSx5QkFBUztBQUNMTCwwQkFESztBQUVMTSw0QkFBUTtBQUZIO0FBRkosYUFBVDtBQU9ILFNBdENFLENBQVA7QUF1Q0gsS0E5Q0Q7QUErQ0g7O0FBRU0sU0FBUzVCLFNBQVQsR0FBcUI7QUFDeEIsV0FBT21CLFNBQVMsY0FBVCxFQUF5QixLQUF6QixFQUFnQyxlQUFoQyxDQUFQO0FBQ0g7O0FBRU0sU0FBU2xCLGVBQVQsR0FBMkI7QUFDOUIsV0FBT2tCLFNBQVMsb0JBQVQsRUFBK0IsS0FBL0IsRUFBc0MscUJBQXRDLENBQVA7QUFDSDs7QUFFTSxTQUFTakIsS0FBVCxDQUFlc0MsV0FBZixFQUE0QjtBQUMvQixXQUFPckIsU0FBUyxhQUFULEVBQXdCLE1BQXhCLEVBQWdDLGNBQWhDLEVBQWdELEVBQWhELEVBQW9ELEVBQXBELEVBQXdEO0FBQzNEc0IsbUNBQXlCRDtBQURrQyxLQUF4RCxDQUFQO0FBR0giLCJmaWxlIjoiLi9zcmMvYWN0aW9ucy9hcGkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgZmV0Y2g6IHRydWUsIGRvY3VtZW50OiB0cnVlICovXG5pbXBvcnQgY29va2llIGZyb20gJ2Nvb2tpZSc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyYW1kYSc7XG5pbXBvcnQge3VybEJhc2V9IGZyb20gJy4uL3V0aWxzJztcblxuZnVuY3Rpb24gR0VUKHBhdGgpIHtcbiAgICByZXR1cm4gZmV0Y2gocGF0aCwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgJ1gtQ1NSRlRva2VuJzogY29va2llLnBhcnNlKGRvY3VtZW50LmNvb2tpZSkuX2NzcmZfdG9rZW4sXG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIFBPU1QocGF0aCwgYm9keSA9IHt9LCBoZWFkZXJzID0ge30pIHtcbiAgICByZXR1cm4gZmV0Y2gocGF0aCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gICAgICAgIGhlYWRlcnM6IG1lcmdlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgJ1gtQ1NSRlRva2VuJzogY29va2llLnBhcnNlKGRvY3VtZW50LmNvb2tpZSkuX2NzcmZfdG9rZW4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGVhZGVyc1xuICAgICAgICApLFxuICAgICAgICBib2R5OiBib2R5ID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBudWxsLFxuICAgIH0pO1xufVxuXG5jb25zdCByZXF1ZXN0ID0ge0dFVCwgUE9TVH07XG5cbmZ1bmN0aW9uIGFwaVRodW5rKGVuZHBvaW50LCBtZXRob2QsIHN0b3JlLCBpZCwgYm9keSwgaGVhZGVycyA9IHt9KSB7XG4gICAgcmV0dXJuIChkaXNwYXRjaCwgZ2V0U3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gZ2V0U3RhdGUoKS5jb25maWc7XG5cbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogc3RvcmUsXG4gICAgICAgICAgICBwYXlsb2FkOiB7aWQsIHN0YXR1czogJ2xvYWRpbmcnfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXF1ZXN0W21ldGhvZF0oYCR7dXJsQmFzZShjb25maWcpfSR7ZW5kcG9pbnR9YCwgYm9keSwgaGVhZGVycylcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSByZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGUgJiZcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGUuaW5kZXhPZignYXBwbGljYXRpb24vanNvbicpICE9PSAtMVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLmpzb24oKS50aGVuKGpzb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0b3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBqc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0b3JlLFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tY29uc29sZSAqL1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogc3RvcmUsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiA1MDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5b3V0KCkge1xuICAgIHJldHVybiBhcGlUaHVuaygnX2Rhc2gtbGF5b3V0JywgJ0dFVCcsICdsYXlvdXRSZXF1ZXN0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXMoKSB7XG4gICAgcmV0dXJuIGFwaVRodW5rKCdfZGFzaC1kZXBlbmRlbmNpZXMnLCAnR0VUJywgJ2RlcGVuZGVuY2llc1JlcXVlc3QnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luKG9hdXRoX3Rva2VuKSB7XG4gICAgcmV0dXJuIGFwaVRodW5rKCdfZGFzaC1sb2dpbicsICdQT1NUJywgJ2xvZ2luUmVxdWVzdCcsICcnLCAnJywge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7b2F1dGhfdG9rZW59YCxcbiAgICB9KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/actions/api.js\n"); /***/ }), @@ -5270,7 +5234,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar ACTIONS = exports.ACTIONS = function ACTIONS(action) {\n var actionList = {\n ON_PROP_CHANGE: 'ON_PROP_CHANGE',\n SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE',\n COMPUTE_GRAPHS: 'COMPUTE_GRAPHS',\n COMPUTE_PATHS: 'COMPUTE_PATHS',\n SET_LAYOUT: 'SET_LAYOUT',\n SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE',\n READ_CONFIG: 'READ_CONFIG'\n };\n if (actionList[action]) return actionList[action];else throw new Error(action + ' is not defined.');\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvY29uc3RhbnRzLmpzPzRkNDIiXSwibmFtZXMiOlsiQUNUSU9OUyIsImFjdGlvbiIsImFjdGlvbkxpc3QiLCJPTl9QUk9QX0NIQU5HRSIsIlNFVF9SRVFVRVNUX1FVRVVFIiwiQ09NUFVURV9HUkFQSFMiLCJDT01QVVRFX1BBVEhTIiwiU0VUX0xBWU9VVCIsIlNFVF9BUFBfTElGRUNZQ0xFIiwiUkVBRF9DT05GSUciLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxJQUFNQSw0QkFBVSxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMvQixRQUFNQyxhQUFhO0FBQ2ZDLHdCQUFnQixnQkFERDtBQUVmQywyQkFBbUIsbUJBRko7QUFHZkMsd0JBQWdCLGdCQUhEO0FBSWZDLHVCQUFlLGVBSkE7QUFLZkMsb0JBQVksWUFMRztBQU1mQywyQkFBbUIsbUJBTko7QUFPZkMscUJBQWE7QUFQRSxLQUFuQjtBQVNBLFFBQUlQLFdBQVdELE1BQVgsQ0FBSixFQUF3QixPQUFPQyxXQUFXRCxNQUFYLENBQVAsQ0FBeEIsS0FDSyxNQUFNLElBQUlTLEtBQUosQ0FBYVQsTUFBYixzQkFBTjtBQUNSLENBWk0iLCJmaWxlIjoiLi9zcmMvYWN0aW9ucy9jb25zdGFudHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQUNUSU9OUyA9IChhY3Rpb24pID0+IHtcclxuICAgIGNvbnN0IGFjdGlvbkxpc3QgPSB7XHJcbiAgICAgICAgT05fUFJPUF9DSEFOR0U6ICdPTl9QUk9QX0NIQU5HRScsXHJcbiAgICAgICAgU0VUX1JFUVVFU1RfUVVFVUU6ICdTRVRfUkVRVUVTVF9RVUVVRScsXHJcbiAgICAgICAgQ09NUFVURV9HUkFQSFM6ICdDT01QVVRFX0dSQVBIUycsXHJcbiAgICAgICAgQ09NUFVURV9QQVRIUzogJ0NPTVBVVEVfUEFUSFMnLFxyXG4gICAgICAgIFNFVF9MQVlPVVQ6ICdTRVRfTEFZT1VUJyxcclxuICAgICAgICBTRVRfQVBQX0xJRkVDWUNMRTogJ1NFVF9BUFBfTElGRUNZQ0xFJyxcclxuICAgICAgICBSRUFEX0NPTkZJRzogJ1JFQURfQ09ORklHJ1xyXG4gICAgfTtcclxuICAgIGlmIChhY3Rpb25MaXN0W2FjdGlvbl0pIHJldHVybiBhY3Rpb25MaXN0W2FjdGlvbl07XHJcbiAgICBlbHNlIHRocm93IG5ldyBFcnJvcihgJHthY3Rpb259IGlzIG5vdCBkZWZpbmVkLmApXHJcbn07XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/actions/constants.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar getAction = exports.getAction = function getAction(action) {\n var actionList = {\n ON_PROP_CHANGE: 'ON_PROP_CHANGE',\n SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE',\n COMPUTE_GRAPHS: 'COMPUTE_GRAPHS',\n COMPUTE_PATHS: 'COMPUTE_PATHS',\n SET_LAYOUT: 'SET_LAYOUT',\n SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE',\n READ_CONFIG: 'READ_CONFIG'\n };\n if (actionList[action]) {\n return actionList[action];\n }\n throw new Error(action + ' is not defined.');\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvY29uc3RhbnRzLmpzPzRkNDIiXSwibmFtZXMiOlsiZ2V0QWN0aW9uIiwiYWN0aW9uTGlzdCIsIk9OX1BST1BfQ0hBTkdFIiwiU0VUX1JFUVVFU1RfUVVFVUUiLCJDT01QVVRFX0dSQVBIUyIsIkNPTVBVVEVfUEFUSFMiLCJTRVRfTEFZT1VUIiwiU0VUX0FQUF9MSUZFQ1lDTEUiLCJSRUFEX0NPTkZJRyIsImFjdGlvbiIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFPLElBQU1BLGdDQUFZLFNBQVpBLFNBQVksU0FBVTtBQUMvQixRQUFNQyxhQUFhO0FBQ2ZDLHdCQUFnQixnQkFERDtBQUVmQywyQkFBbUIsbUJBRko7QUFHZkMsd0JBQWdCLGdCQUhEO0FBSWZDLHVCQUFlLGVBSkE7QUFLZkMsb0JBQVksWUFMRztBQU1mQywyQkFBbUIsbUJBTko7QUFPZkMscUJBQWE7QUFQRSxLQUFuQjtBQVNBLFFBQUlQLFdBQVdRLE1BQVgsQ0FBSixFQUF3QjtBQUNwQixlQUFPUixXQUFXUSxNQUFYLENBQVA7QUFDSDtBQUNELFVBQU0sSUFBSUMsS0FBSixDQUFhRCxNQUFiLHNCQUFOO0FBQ0gsQ0FkTSIsImZpbGUiOiIuL3NyYy9hY3Rpb25zL2NvbnN0YW50cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBnZXRBY3Rpb24gPSBhY3Rpb24gPT4ge1xuICAgIGNvbnN0IGFjdGlvbkxpc3QgPSB7XG4gICAgICAgIE9OX1BST1BfQ0hBTkdFOiAnT05fUFJPUF9DSEFOR0UnLFxuICAgICAgICBTRVRfUkVRVUVTVF9RVUVVRTogJ1NFVF9SRVFVRVNUX1FVRVVFJyxcbiAgICAgICAgQ09NUFVURV9HUkFQSFM6ICdDT01QVVRFX0dSQVBIUycsXG4gICAgICAgIENPTVBVVEVfUEFUSFM6ICdDT01QVVRFX1BBVEhTJyxcbiAgICAgICAgU0VUX0xBWU9VVDogJ1NFVF9MQVlPVVQnLFxuICAgICAgICBTRVRfQVBQX0xJRkVDWUNMRTogJ1NFVF9BUFBfTElGRUNZQ0xFJyxcbiAgICAgICAgUkVBRF9DT05GSUc6ICdSRUFEX0NPTkZJRycsXG4gICAgfTtcbiAgICBpZiAoYWN0aW9uTGlzdFthY3Rpb25dKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb25MaXN0W2FjdGlvbl07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgJHthY3Rpb259IGlzIG5vdCBkZWZpbmVkLmApO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/actions/constants.js\n"); /***/ }), @@ -5282,7 +5246,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.readConfig = exports.setAppLifecycle = exports.setLayout = exports.computePaths = exports.computeGraphs = exports.setRequestQueue = exports.updateProps = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /* global fetch:true, Promise:true, document:true */\n\n\nexports.hydrateInitialOutputs = hydrateInitialOutputs;\nexports.redo = redo;\nexports.undo = undo;\nexports.notifyObservers = notifyObservers;\nexports.serialize = serialize;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar __ = _ramda.__;\nvar adjust = _ramda.adjust;\nvar any = _ramda.any;\nvar append = _ramda.append;\nvar concat = _ramda.concat;\nvar contains = _ramda.contains;\nvar findIndex = _ramda.findIndex;\nvar findLastIndex = _ramda.findLastIndex;\nvar flatten = _ramda.flatten;\nvar flip = _ramda.flip;\nvar has = _ramda.has;\nvar intersection = _ramda.intersection;\nvar isEmpty = _ramda.isEmpty;\nvar keys = _ramda.keys;\nvar lensPath = _ramda.lensPath;\nvar merge = _ramda.merge;\nvar pluck = _ramda.pluck;\nvar propEq = _ramda.propEq;\nvar reject = _ramda.reject;\nvar slice = _ramda.slice;\nvar sort = _ramda.sort;\nvar type = _ramda.type;\nvar view = _ramda.view;\n\nvar _reduxActions = __webpack_require__(/*! redux-actions */ \"./node_modules/redux-actions/lib/index.js\");\n\nvar createAction = _reduxActions.createAction;\n\nvar _utils = __webpack_require__(/*! ../reducers/utils */ \"./src/reducers/utils.js\");\n\nvar crawlLayout = _utils.crawlLayout;\nvar hasId = _utils.hasId;\n\nvar _constants = __webpack_require__(/*! ../reducers/constants */ \"./src/reducers/constants.js\");\n\nvar APP_STATES = _constants.APP_STATES;\n\nvar _constants2 = __webpack_require__(/*! ./constants */ \"./src/actions/constants.js\");\n\nvar ACTIONS = _constants2.ACTIONS;\n\nvar _cookie = __webpack_require__(/*! cookie */ \"./node_modules/cookie/index.js\");\n\nvar cookie = _interopRequireDefault(_cookie).default;\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\nvar uid = _utils2.uid;\nvar urlBase = _utils2.urlBase;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar updateProps = exports.updateProps = createAction(ACTIONS('ON_PROP_CHANGE'));\nvar setRequestQueue = exports.setRequestQueue = createAction(ACTIONS('SET_REQUEST_QUEUE'));\nvar computeGraphs = exports.computeGraphs = createAction(ACTIONS('COMPUTE_GRAPHS'));\nvar computePaths = exports.computePaths = createAction(ACTIONS('COMPUTE_PATHS'));\nvar setLayout = exports.setLayout = createAction(ACTIONS('SET_LAYOUT'));\nvar setAppLifecycle = exports.setAppLifecycle = createAction(ACTIONS('SET_APP_LIFECYCLE'));\nvar readConfig = exports.readConfig = createAction(ACTIONS('READ_CONFIG'));\n\nfunction hydrateInitialOutputs() {\n return function (dispatch, getState) {\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle(APP_STATES('HYDRATED')));\n };\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n var _getState = getState(),\n graphs = _getState.graphs;\n\n var InputGraph = graphs.InputGraph;\n\n var allNodes = InputGraph.overallOrder();\n var inputNodeIds = [];\n allNodes.reverse();\n allNodes.forEach(function (nodeId) {\n var componentId = nodeId.split('.')[0];\n /*\r\n * Filter out the outputs,\r\n * inputs that aren't leaves,\r\n * and the invisible inputs\r\n */\n if (InputGraph.dependenciesOf(nodeId).length > 0 && InputGraph.dependantsOf(nodeId).length === 0 && has(componentId, getState().paths)) {\n inputNodeIds.push(nodeId);\n }\n });\n\n reduceInputIds(inputNodeIds, InputGraph).forEach(function (inputOutput) {\n var _inputOutput$input$sp = inputOutput.input.split('.'),\n _inputOutput$input$sp2 = _slicedToArray(_inputOutput$input$sp, 2),\n componentId = _inputOutput$input$sp2[0],\n componentProp = _inputOutput$input$sp2[1];\n // Get the initial property\n\n\n var propLens = lensPath(concat(getState().paths[componentId], ['props', componentProp]));\n var propValue = view(propLens, getState().layout);\n\n dispatch(notifyObservers({\n id: componentId,\n props: _defineProperty({}, componentProp, propValue),\n excludedOutputs: inputOutput.excludedOutputs\n }));\n });\n}\n\nfunction redo() {\n return function (dispatch, getState) {\n var history = getState().history;\n dispatch(createAction('REDO')());\n var next = history.future[0];\n\n // Update props\n dispatch(createAction('REDO_PROP_CHANGE')({\n itempath: getState().paths[next.id],\n props: next.props\n }));\n\n // Notify observers\n dispatch(notifyObservers({\n id: next.id,\n props: next.props\n }));\n };\n}\n\nfunction undo() {\n return function (dispatch, getState) {\n var history = getState().history;\n dispatch(createAction('UNDO')());\n var previous = history.past[history.past.length - 1];\n\n // Update props\n dispatch(createAction('UNDO_PROP_CHANGE')({\n itempath: getState().paths[previous.id],\n props: previous.props\n }));\n\n // Notify observers\n dispatch(notifyObservers({\n id: previous.id,\n props: previous.props\n }));\n };\n}\n\nfunction reduceInputIds(nodeIds, InputGraph) {\n /*\r\n * Create input-output(s) pairs,\r\n * sort by number of outputs,\r\n * and remove redudant inputs (inputs that update the same output)\r\n */\n var inputOutputPairs = nodeIds.map(function (nodeId) {\n return {\n input: nodeId,\n // TODO - Does this include grandchildren?\n outputs: InputGraph.dependenciesOf(nodeId),\n excludedOutputs: []\n };\n });\n\n var sortedInputOutputPairs = sort(function (a, b) {\n return b.outputs.length - a.outputs.length;\n }, inputOutputPairs);\n\n /*\r\n * In some cases, we may have unique outputs but inputs that could\r\n * trigger components to update multiple times.\r\n *\r\n * For example, [A, B] => C and [A, D] => E\r\n * The unique inputs might be [A, B, D] but that is redudant.\r\n * We only need to update B and D or just A.\r\n *\r\n * In these cases, we'll supply an additional list of outputs\r\n * to exclude.\r\n */\n sortedInputOutputPairs.forEach(function (pair, i) {\n var outputsThatWillBeUpdated = flatten(pluck('outputs', slice(0, i, sortedInputOutputPairs)));\n pair.outputs.forEach(function (output) {\n if (contains(output, outputsThatWillBeUpdated)) {\n pair.excludedOutputs.push(output);\n }\n });\n });\n\n return sortedInputOutputPairs;\n}\n\nfunction notifyObservers(payload) {\n return function (dispatch, getState) {\n var id = payload.id,\n event = payload.event,\n props = payload.props,\n excludedOutputs = payload.excludedOutputs;\n\n var _getState2 = getState(),\n graphs = _getState2.graphs,\n requestQueue = _getState2.requestQueue;\n\n var EventGraph = graphs.EventGraph,\n InputGraph = graphs.InputGraph;\n /*\r\n * Figure out all of the output id's that depend on this\r\n * event or input.\r\n * This includes id's that are direct children as well as\r\n * grandchildren.\r\n * grandchildren will get filtered out in a later stage.\r\n */\n\n var outputObservers = void 0;\n if (event) {\n outputObservers = EventGraph.dependenciesOf(id + '.' + event);\n } else {\n var changedProps = keys(props);\n outputObservers = [];\n changedProps.forEach(function (propName) {\n var node = id + '.' + propName;\n if (!InputGraph.hasNode(node)) {\n return;\n }\n InputGraph.dependenciesOf(node).forEach(function (outputId) {\n /*\r\n * Multiple input properties that update the same\r\n * output can change at once.\r\n * For example, `n_clicks` and `n_clicks_previous`\r\n * on a button component.\r\n * We only need to update the output once for this\r\n * update, so keep outputObservers unique.\r\n */\n if (!contains(outputId, outputObservers)) {\n outputObservers.push(outputId);\n }\n });\n });\n }\n\n if (excludedOutputs) {\n outputObservers = reject(flip(contains)(excludedOutputs), outputObservers);\n }\n\n if (isEmpty(outputObservers)) {\n return;\n }\n\n /*\r\n * There may be several components that depend on this input.\r\n * And some components may depend on other components before\r\n * updating. Get this update order straightened out.\r\n */\n var depOrder = InputGraph.overallOrder();\n outputObservers = sort(function (a, b) {\n return depOrder.indexOf(b) - depOrder.indexOf(a);\n }, outputObservers);\n var queuedObservers = [];\n outputObservers.forEach(function filterObservers(outputIdAndProp) {\n var outputComponentId = outputIdAndProp.split('.')[0];\n\n /*\r\n * before we make the POST to update the output, check\r\n * that the output doesn't depend on any other inputs that\r\n * that depend on the same controller.\r\n * if the output has another input with a shared controller,\r\n * then don't update this output yet.\r\n * when each dependency updates, it'll dispatch its own\r\n * `notifyObservers` action which will allow this\r\n * component to update.\r\n *\r\n * for example, if A updates B and C (A -> [B, C]) and B updates C\r\n * (B -> C), then when A updates, this logic will\r\n * reject C from the queue since it will end up getting updated\r\n * by B.\r\n *\r\n * in this case, B will already be in queuedObservers by the time\r\n * this loop hits C because of the overallOrder sorting logic\r\n */\n\n /*\r\n * if the output just listens to events, then it won't be in\r\n * the InputGraph\r\n */\n var controllers = InputGraph.hasNode(outputIdAndProp) ? InputGraph.dependantsOf(outputIdAndProp) : [];\n\n var controllersInFutureQueue = intersection(queuedObservers, controllers);\n\n /*\r\n * check that the output hasn't been triggered to update already\r\n * by a different input.\r\n *\r\n * for example:\r\n * Grandparent -> [Parent A, Parent B] -> Child\r\n *\r\n * when Grandparent changes, it will trigger Parent A and Parent B\r\n * to each update Child.\r\n * one of the components (Parent A or Parent B) will queue up\r\n * the change for Child. if this update has already been queued up,\r\n * then skip the update for the other component\r\n */\n var controllerIsInExistingQueue = any(function (r) {\n return contains(r.controllerId, controllers) && r.status === 'loading';\n }, requestQueue);\n\n /*\r\n * TODO - Place throttling logic here?\r\n *\r\n * Only process the last two requests for a _single_ output\r\n * at a time.\r\n *\r\n * For example, if A -> B, and A is changed 10 times, then:\r\n * 1 - processing the first two requests\r\n * 2 - if more than 2 requests come in while the first two\r\n * are being processed, then skip updating all of the\r\n * requests except for the last 2\r\n */\n\n /*\r\n * also check that this observer is actually in the current\r\n * component tree.\r\n * observers don't actually need to be rendered at the moment\r\n * of a controller change.\r\n * for example, perhaps the user has hidden one of the observers\r\n */\n if (controllersInFutureQueue.length === 0 && has(outputComponentId, getState().paths) && !controllerIsInExistingQueue) {\n queuedObservers.push(outputIdAndProp);\n }\n });\n\n /*\r\n * record the set of output IDs that will eventually need to be\r\n * updated in a queue. not all of these requests will be fired in this\r\n * action\r\n */\n var newRequestQueue = queuedObservers.map(function (i) {\n return {\n controllerId: i,\n status: 'loading',\n uid: uid(),\n requestTime: Date.now()\n };\n });\n dispatch(setRequestQueue(concat(requestQueue, newRequestQueue)));\n\n var promises = [];\n for (var i = 0; i < queuedObservers.length; i++) {\n var outputIdAndProp = queuedObservers[i];\n\n var _outputIdAndProp$spli = outputIdAndProp.split('.'),\n _outputIdAndProp$spli2 = _slicedToArray(_outputIdAndProp$spli, 2),\n outputComponentId = _outputIdAndProp$spli2[0],\n outputProp = _outputIdAndProp$spli2[1];\n\n var requestUid = newRequestQueue[i].uid;\n\n promises.push(updateOutput(outputComponentId, outputProp, event, getState, requestUid, dispatch));\n }\n\n return Promise.all(promises);\n };\n}\n\nfunction updateOutput(outputComponentId, outputProp, event, getState, requestUid, dispatch) {\n var _getState3 = getState(),\n config = _getState3.config,\n layout = _getState3.layout,\n graphs = _getState3.graphs,\n paths = _getState3.paths,\n dependenciesRequest = _getState3.dependenciesRequest;\n\n var InputGraph = graphs.InputGraph;\n\n /*\r\n * Construct a payload of the input, state, and event.\r\n * For example:\r\n * If the input triggered this update, then:\r\n * {\r\n * inputs: [{'id': 'input1', 'property': 'new value'}],\r\n * state: [{'id': 'state1', 'property': 'existing value'}]\r\n * }\r\n *\r\n * If an event triggered this udpate, then:\r\n * {\r\n * state: [{'id': 'state1', 'property': 'existing value'}],\r\n * event: {'id': 'graph', 'event': 'click'}\r\n * }\r\n *\r\n */\n\n var payload = {\n output: { id: outputComponentId, property: outputProp }\n };\n\n if (event) {\n payload.event = event;\n }\n\n var _dependenciesRequest$ = dependenciesRequest.content.find(function (dependency) {\n return dependency.output.id === outputComponentId && dependency.output.property === outputProp;\n }),\n inputs = _dependenciesRequest$.inputs,\n state = _dependenciesRequest$.state;\n\n var validKeys = keys(paths);\n if (inputs.length > 0) {\n payload.inputs = inputs.map(function (inputObject) {\n // Make sure the component id exists in the layout\n if (!contains(inputObject.id, validKeys)) {\n throw ReferenceError(\"An invalid input object was used in an \" + \"`Input` of a Dash callback. \" + \"The id of this object is `\" + inputObject.id + \"` and the property is `\" + inputObject.property + \"`. The list of ids in the current layout is \" + \"`[\" + validKeys.join(\", \") + \"]`\");\n }\n var propLens = lensPath(concat(paths[inputObject.id], ['props', inputObject.property]));\n return {\n id: inputObject.id,\n property: inputObject.property,\n value: view(propLens, layout)\n };\n });\n }\n if (state.length > 0) {\n payload.state = state.map(function (stateObject) {\n // Make sure the component id exists in the layout\n if (!contains(stateObject.id, validKeys)) {\n throw ReferenceError(\"An invalid input object was used in a \" + \"`State` object of a Dash callback. \" + \"The id of this object is `\" + stateObject.id + \"` and the property is `\" + stateObject.property + \"`. The list of ids in the current layout is \" + \"`[\" + validKeys.join(\", \") + \"]`\");\n }\n var propLens = lensPath(concat(paths[stateObject.id], ['props', stateObject.property]));\n return {\n id: stateObject.id,\n property: stateObject.property,\n value: view(propLens, layout)\n };\n });\n }\n\n return fetch(urlBase(config) + '_dash-update-component', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token\n },\n credentials: 'same-origin',\n body: JSON.stringify(payload)\n }).then(function handleResponse(res) {\n\n var getThisRequestIndex = function getThisRequestIndex() {\n var postRequestQueue = getState().requestQueue;\n var thisRequestIndex = findIndex(propEq('uid', requestUid), postRequestQueue);\n return thisRequestIndex;\n };\n\n var updateRequestQueue = function updateRequestQueue(rejected) {\n var postRequestQueue = getState().requestQueue;\n var thisRequestIndex = getThisRequestIndex();\n if (thisRequestIndex === -1) {\n // It was already pruned away\n return;\n }\n var updatedQueue = adjust(merge(__, {\n status: res.status,\n responseTime: Date.now(),\n rejected: rejected\n }), thisRequestIndex, postRequestQueue);\n // We don't need to store any requests before this one\n var thisControllerId = postRequestQueue[thisRequestIndex].controllerId;\n var prunedQueue = updatedQueue.filter(function (queueItem, index) {\n return queueItem.controllerId !== thisControllerId || index >= thisRequestIndex;\n });\n\n dispatch(setRequestQueue(prunedQueue));\n };\n\n var isRejected = function isRejected() {\n var latestRequestIndex = findLastIndex(propEq('controllerId', outputComponentId + '.' + outputProp), // newRequestQueue[i].controllerId),\n getState().requestQueue);\n /*\r\n * Note that if the latest request is still `loading`\r\n * or even if the latest request failed,\r\n * we still reject this response in favor of waiting\r\n * for the latest request to finish.\r\n */\n var rejected = latestRequestIndex > getThisRequestIndex();\n return rejected;\n };\n\n if (res.status !== 200) {\n // update the status of this request\n updateRequestQueue(true);\n return;\n }\n\n /*\r\n * Check to see if another request has already come back\r\n * _after_ this one.\r\n * If so, ignore this request.\r\n */\n if (isRejected()) {\n updateRequestQueue(true);\n return;\n }\n\n return res.json().then(function handleJson(data) {\n /*\r\n * Even if the `res` was received in the correct order,\r\n * the remainder of the response (res.json()) could happen\r\n * at different rates causing the parsed responses to\r\n * get out of order\r\n */\n if (isRejected()) {\n updateRequestQueue(true);\n return;\n }\n\n updateRequestQueue(false);\n\n /*\r\n * it's possible that this output item is no longer visible.\r\n * for example, the could still be request running when\r\n * the user switched the chapter\r\n *\r\n * if it's not visible, then ignore the rest of the updates\r\n * to the store\r\n */\n if (!has(outputComponentId, getState().paths)) {\n return;\n }\n\n // and update the props of the component\n var observerUpdatePayload = {\n itempath: getState().paths[outputComponentId],\n // new prop from the server\n props: data.response.props,\n source: 'response'\n };\n dispatch(updateProps(observerUpdatePayload));\n\n dispatch(notifyObservers({\n id: outputComponentId,\n props: data.response.props\n }));\n\n /*\r\n * If the response includes children, then we need to update our\r\n * paths store.\r\n * TODO - Do we need to wait for updateProps to finish?\r\n */\n if (has('children', observerUpdatePayload.props)) {\n\n dispatch(computePaths({\n subTree: observerUpdatePayload.props.children,\n startingPath: concat(getState().paths[outputComponentId], ['props', 'children'])\n }));\n\n /*\r\n * if children contains objects with IDs, then we\r\n * need to dispatch a propChange for all of these\r\n * new children components\r\n */\n if (contains(type(observerUpdatePayload.props.children), ['Array', 'Object']) && !isEmpty(observerUpdatePayload.props.children)) {\n /*\r\n * TODO: We're just naively crawling\r\n * the _entire_ layout to recompute the\r\n * the dependency graphs.\r\n * We don't need to do this - just need\r\n * to compute the subtree\r\n */\n var newProps = {};\n crawlLayout(observerUpdatePayload.props.children, function appendIds(child) {\n if (hasId(child)) {\n keys(child.props).forEach(function (childProp) {\n var componentIdAndProp = child.props.id + '.' + childProp;\n if (has(componentIdAndProp, InputGraph.nodes)) {\n newProps[componentIdAndProp] = {\n id: child.props.id,\n props: _defineProperty({}, childProp, child.props[childProp])\n };\n }\n });\n }\n });\n\n /*\r\n * Organize props by shared outputs so that we\r\n * only make one request per output component\r\n * (even if there are multiple inputs).\r\n *\r\n * For example, we might render 10 inputs that control\r\n * a single output. If that is the case, we only want\r\n * to make a single call, not 10 calls.\r\n */\n\n /*\r\n * In some cases, the new item will be an output\r\n * with its inputs already rendered (not rendered)\r\n * as part of this update.\r\n * For example, a tab with global controls that\r\n * renders different content containers without any\r\n * additional inputs.\r\n *\r\n * In that case, we'll call `updateOutput` with that output\r\n * and just \"pretend\" that one if its inputs changed.\r\n *\r\n * If we ever add logic that informs the user on\r\n * \"which input changed\", we'll have to account for this\r\n * special case (no input changed?)\r\n */\n\n var outputIds = [];\n keys(newProps).forEach(function (idAndProp) {\n if (\n // It's an output\n InputGraph.dependenciesOf(idAndProp).length === 0 &&\n /*\r\n * And none of its inputs are generated in this\r\n * request\r\n */\n intersection(InputGraph.dependantsOf(idAndProp), keys(newProps)).length == 0) {\n outputIds.push(idAndProp);\n delete newProps[idAndProp];\n }\n });\n\n // Dispatch updates to inputs\n var reducedNodeIds = reduceInputIds(keys(newProps), InputGraph);\n var depOrder = InputGraph.overallOrder();\n var sortedNewProps = sort(function (a, b) {\n return depOrder.indexOf(a.input) - depOrder.indexOf(b.input);\n }, reducedNodeIds);\n sortedNewProps.forEach(function (inputOutput) {\n var payload = newProps[inputOutput.input];\n payload.excludedOutputs = inputOutput.excludedOutputs;\n dispatch(notifyObservers(payload));\n });\n\n // Dispatch updates to lone outputs\n outputIds.forEach(function (idAndProp) {\n var requestUid = uid();\n dispatch(setRequestQueue(append({\n // TODO - Are there any implications of doing this??\n controllerId: null,\n status: 'loading',\n uid: requestUid,\n requestTime: Date.now()\n }, getState().requestQueue)));\n updateOutput(idAndProp.split('.')[0], idAndProp.split('.')[1], null, getState, requestUid, dispatch);\n });\n }\n }\n });\n });\n}\n\nfunction serialize(state) {\n // Record minimal input state in the url\n var graphs = state.graphs,\n paths = state.paths,\n layout = state.layout;\n var InputGraph = graphs.InputGraph;\n\n var allNodes = InputGraph.nodes;\n var savedState = {};\n keys(allNodes).forEach(function (nodeId) {\n var _nodeId$split = nodeId.split('.'),\n _nodeId$split2 = _slicedToArray(_nodeId$split, 2),\n componentId = _nodeId$split2[0],\n componentProp = _nodeId$split2[1];\n /*\r\n * Filter out the outputs,\r\n * and the invisible inputs\r\n */\n\n\n if (InputGraph.dependenciesOf(nodeId).length > 0 && has(componentId, paths)) {\n // Get the property\n var propLens = lensPath(concat(paths[componentId], ['props', componentProp]));\n var propValue = view(propLens, layout);\n savedState[nodeId] = propValue;\n }\n });\n\n return savedState;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvaW5kZXguanM/ZjQwYiJdLCJuYW1lcyI6WyJoeWRyYXRlSW5pdGlhbE91dHB1dHMiLCJyZWRvIiwidW5kbyIsIm5vdGlmeU9ic2VydmVycyIsInNlcmlhbGl6ZSIsIl9fIiwiYWRqdXN0IiwiYW55IiwiYXBwZW5kIiwiY29uY2F0IiwiY29udGFpbnMiLCJmaW5kSW5kZXgiLCJmaW5kTGFzdEluZGV4IiwiZmxhdHRlbiIsImZsaXAiLCJoYXMiLCJpbnRlcnNlY3Rpb24iLCJpc0VtcHR5Iiwia2V5cyIsImxlbnNQYXRoIiwibWVyZ2UiLCJwbHVjayIsInByb3BFcSIsInJlamVjdCIsInNsaWNlIiwic29ydCIsInR5cGUiLCJ2aWV3IiwiY3JlYXRlQWN0aW9uIiwiY3Jhd2xMYXlvdXQiLCJoYXNJZCIsIkFQUF9TVEFURVMiLCJBQ1RJT05TIiwiY29va2llIiwidWlkIiwidXJsQmFzZSIsInVwZGF0ZVByb3BzIiwic2V0UmVxdWVzdFF1ZXVlIiwiY29tcHV0ZUdyYXBocyIsImNvbXB1dGVQYXRocyIsInNldExheW91dCIsInNldEFwcExpZmVjeWNsZSIsInJlYWRDb25maWciLCJkaXNwYXRjaCIsImdldFN0YXRlIiwidHJpZ2dlckRlZmF1bHRTdGF0ZSIsImdyYXBocyIsIklucHV0R3JhcGgiLCJhbGxOb2RlcyIsIm92ZXJhbGxPcmRlciIsImlucHV0Tm9kZUlkcyIsInJldmVyc2UiLCJmb3JFYWNoIiwiY29tcG9uZW50SWQiLCJub2RlSWQiLCJzcGxpdCIsImRlcGVuZGVuY2llc09mIiwibGVuZ3RoIiwiZGVwZW5kYW50c09mIiwicGF0aHMiLCJwdXNoIiwicmVkdWNlSW5wdXRJZHMiLCJpbnB1dE91dHB1dCIsImlucHV0IiwiY29tcG9uZW50UHJvcCIsInByb3BMZW5zIiwicHJvcFZhbHVlIiwibGF5b3V0IiwiaWQiLCJwcm9wcyIsImV4Y2x1ZGVkT3V0cHV0cyIsImhpc3RvcnkiLCJuZXh0IiwiZnV0dXJlIiwiaXRlbXBhdGgiLCJwcmV2aW91cyIsInBhc3QiLCJub2RlSWRzIiwiaW5wdXRPdXRwdXRQYWlycyIsIm1hcCIsIm91dHB1dHMiLCJzb3J0ZWRJbnB1dE91dHB1dFBhaXJzIiwiYSIsImIiLCJwYWlyIiwiaSIsIm91dHB1dHNUaGF0V2lsbEJlVXBkYXRlZCIsIm91dHB1dCIsInBheWxvYWQiLCJldmVudCIsInJlcXVlc3RRdWV1ZSIsIkV2ZW50R3JhcGgiLCJvdXRwdXRPYnNlcnZlcnMiLCJjaGFuZ2VkUHJvcHMiLCJub2RlIiwicHJvcE5hbWUiLCJoYXNOb2RlIiwib3V0cHV0SWQiLCJkZXBPcmRlciIsImluZGV4T2YiLCJxdWV1ZWRPYnNlcnZlcnMiLCJmaWx0ZXJPYnNlcnZlcnMiLCJvdXRwdXRJZEFuZFByb3AiLCJvdXRwdXRDb21wb25lbnRJZCIsImNvbnRyb2xsZXJzIiwiY29udHJvbGxlcnNJbkZ1dHVyZVF1ZXVlIiwiY29udHJvbGxlcklzSW5FeGlzdGluZ1F1ZXVlIiwiciIsImNvbnRyb2xsZXJJZCIsInN0YXR1cyIsIm5ld1JlcXVlc3RRdWV1ZSIsInJlcXVlc3RUaW1lIiwiRGF0ZSIsIm5vdyIsInByb21pc2VzIiwib3V0cHV0UHJvcCIsInJlcXVlc3RVaWQiLCJ1cGRhdGVPdXRwdXQiLCJQcm9taXNlIiwiYWxsIiwiY29uZmlnIiwiZGVwZW5kZW5jaWVzUmVxdWVzdCIsInByb3BlcnR5IiwiY29udGVudCIsImZpbmQiLCJkZXBlbmRlbmN5IiwiaW5wdXRzIiwic3RhdGUiLCJ2YWxpZEtleXMiLCJpbnB1dE9iamVjdCIsIlJlZmVyZW5jZUVycm9yIiwiam9pbiIsInZhbHVlIiwic3RhdGVPYmplY3QiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJwYXJzZSIsImRvY3VtZW50IiwiX2NzcmZfdG9rZW4iLCJjcmVkZW50aWFscyIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwidGhlbiIsImhhbmRsZVJlc3BvbnNlIiwicmVzIiwiZ2V0VGhpc1JlcXVlc3RJbmRleCIsInBvc3RSZXF1ZXN0UXVldWUiLCJ0aGlzUmVxdWVzdEluZGV4IiwidXBkYXRlUmVxdWVzdFF1ZXVlIiwidXBkYXRlZFF1ZXVlIiwicmVzcG9uc2VUaW1lIiwicmVqZWN0ZWQiLCJ0aGlzQ29udHJvbGxlcklkIiwicHJ1bmVkUXVldWUiLCJmaWx0ZXIiLCJxdWV1ZUl0ZW0iLCJpbmRleCIsImlzUmVqZWN0ZWQiLCJsYXRlc3RSZXF1ZXN0SW5kZXgiLCJqc29uIiwiaGFuZGxlSnNvbiIsImRhdGEiLCJvYnNlcnZlclVwZGF0ZVBheWxvYWQiLCJyZXNwb25zZSIsInNvdXJjZSIsInN1YlRyZWUiLCJjaGlsZHJlbiIsInN0YXJ0aW5nUGF0aCIsIm5ld1Byb3BzIiwiYXBwZW5kSWRzIiwiY2hpbGQiLCJjb21wb25lbnRJZEFuZFByb3AiLCJjaGlsZFByb3AiLCJub2RlcyIsIm91dHB1dElkcyIsImlkQW5kUHJvcCIsInJlZHVjZWROb2RlSWRzIiwic29ydGVkTmV3UHJvcHMiLCJzYXZlZFN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O3lwQkFBQTs7O1FBMENnQkEscUIsR0FBQUEscUI7UUFrREFDLEksR0FBQUEsSTtRQXFCQUMsSSxHQUFBQSxJO1FBa0VBQyxlLEdBQUFBLGU7UUEraUJBQyxTLEdBQUFBLFM7O0FBanVCaEI7O0lBQ0lDLEUsVUFBQUEsRTtJQUNBQyxNLFVBQUFBLE07SUFDQUMsRyxVQUFBQSxHO0lBQ0FDLE0sVUFBQUEsTTtJQUNBQyxNLFVBQUFBLE07SUFDQUMsUSxVQUFBQSxRO0lBQ0FDLFMsVUFBQUEsUztJQUNBQyxhLFVBQUFBLGE7SUFDQUMsTyxVQUFBQSxPO0lBQ0FDLEksVUFBQUEsSTtJQUNBQyxHLFVBQUFBLEc7SUFDQUMsWSxVQUFBQSxZO0lBQ0FDLE8sVUFBQUEsTztJQUNBQyxJLFVBQUFBLEk7SUFDQUMsUSxVQUFBQSxRO0lBQ0FDLEssVUFBQUEsSztJQUNBQyxLLFVBQUFBLEs7SUFDQUMsTSxVQUFBQSxNO0lBQ0FDLE0sVUFBQUEsTTtJQUNBQyxLLFVBQUFBLEs7SUFDQUMsSSxVQUFBQSxJO0lBQ0FDLEksVUFBQUEsSTtJQUVBQyxJLFVBQUFBLEk7O0FBRUo7O0lBQVFDLFksaUJBQUFBLFk7O0FBQ1I7O0lBQVFDLFcsVUFBQUEsVztJQUFhQyxLLFVBQUFBLEs7O0FBQ3JCOztJQUFRQyxVLGNBQUFBLFU7O0FBQ1I7O0lBQVFDLE8sZUFBQUEsTzs7QUFDUjs7SUFBT0MsTTs7QUFDUDs7SUFBUUMsRyxXQUFBQSxHO0lBQUtDLE8sV0FBQUEsTzs7Ozs7O0FBRU4sSUFBTUMsb0NBQWNSLGFBQWFJLFFBQVEsZ0JBQVIsQ0FBYixDQUFwQjtBQUNBLElBQU1LLDRDQUFrQlQsYUFBYUksUUFBUSxtQkFBUixDQUFiLENBQXhCO0FBQ0EsSUFBTU0sd0NBQWdCVixhQUFhSSxRQUFRLGdCQUFSLENBQWIsQ0FBdEI7QUFDQSxJQUFNTyxzQ0FBZVgsYUFBYUksUUFBUSxlQUFSLENBQWIsQ0FBckI7QUFDQSxJQUFNUSxnQ0FBWVosYUFBYUksUUFBUSxZQUFSLENBQWIsQ0FBbEI7QUFDQSxJQUFNUyw0Q0FBa0JiLGFBQWFJLFFBQVEsbUJBQVIsQ0FBYixDQUF4QjtBQUNBLElBQU1VLGtDQUFhZCxhQUFhSSxRQUFRLGFBQVIsQ0FBYixDQUFuQjs7QUFFQSxTQUFTaEMscUJBQVQsR0FBaUM7QUFDcEMsV0FBTyxVQUFVMkMsUUFBVixFQUFvQkMsUUFBcEIsRUFBOEI7QUFDakNDLDRCQUFvQkYsUUFBcEIsRUFBOEJDLFFBQTlCO0FBQ0FELGlCQUFTRixnQkFBZ0JWLFdBQVcsVUFBWCxDQUFoQixDQUFUO0FBQ0gsS0FIRDtBQUlIOztBQUVELFNBQVNjLG1CQUFULENBQTZCRixRQUE3QixFQUF1Q0MsUUFBdkMsRUFBaUQ7QUFBQSxvQkFDNUJBLFVBRDRCO0FBQUEsUUFDdENFLE1BRHNDLGFBQ3RDQSxNQURzQzs7QUFBQSxRQUV0Q0MsVUFGc0MsR0FFeEJELE1BRndCLENBRXRDQyxVQUZzQzs7QUFHN0MsUUFBTUMsV0FBV0QsV0FBV0UsWUFBWCxFQUFqQjtBQUNBLFFBQU1DLGVBQWUsRUFBckI7QUFDQUYsYUFBU0csT0FBVDtBQUNBSCxhQUFTSSxPQUFULENBQWlCLGtCQUFVO0FBQ3ZCLFlBQU1DLGNBQWNDLE9BQU9DLEtBQVAsQ0FBYSxHQUFiLEVBQWtCLENBQWxCLENBQXBCO0FBQ0E7Ozs7O0FBS0EsWUFBSVIsV0FBV1MsY0FBWCxDQUEwQkYsTUFBMUIsRUFBa0NHLE1BQWxDLEdBQTJDLENBQTNDLElBQ0FWLFdBQVdXLFlBQVgsQ0FBd0JKLE1BQXhCLEVBQWdDRyxNQUFoQyxLQUEyQyxDQUQzQyxJQUVBMUMsSUFBSXNDLFdBQUosRUFBaUJULFdBQVdlLEtBQTVCLENBRkosRUFHRTtBQUNFVCx5QkFBYVUsSUFBYixDQUFrQk4sTUFBbEI7QUFDSDtBQUNKLEtBYkQ7O0FBZUFPLG1CQUFlWCxZQUFmLEVBQTZCSCxVQUE3QixFQUF5Q0ssT0FBekMsQ0FBaUQsdUJBQWU7QUFBQSxvQ0FDdkJVLFlBQVlDLEtBQVosQ0FBa0JSLEtBQWxCLENBQXdCLEdBQXhCLENBRHVCO0FBQUE7QUFBQSxZQUNyREYsV0FEcUQ7QUFBQSxZQUN4Q1csYUFEd0M7QUFFNUQ7OztBQUNBLFlBQU1DLFdBQVc5QyxTQUNiVixPQUFPbUMsV0FBV2UsS0FBWCxDQUFpQk4sV0FBakIsQ0FBUCxFQUNBLENBQUMsT0FBRCxFQUFVVyxhQUFWLENBREEsQ0FEYSxDQUFqQjtBQUlBLFlBQU1FLFlBQVl2QyxLQUNkc0MsUUFEYyxFQUVkckIsV0FBV3VCLE1BRkcsQ0FBbEI7O0FBS0F4QixpQkFBU3hDLGdCQUFnQjtBQUNyQmlFLGdCQUFJZixXQURpQjtBQUVyQmdCLHVDQUFTTCxhQUFULEVBQXlCRSxTQUF6QixDQUZxQjtBQUdyQkksNkJBQWlCUixZQUFZUTtBQUhSLFNBQWhCLENBQVQ7QUFNSCxLQWxCRDtBQW9CSDs7QUFFTSxTQUFTckUsSUFBVCxHQUFnQjtBQUNuQixXQUFPLFVBQVUwQyxRQUFWLEVBQW9CQyxRQUFwQixFQUE4QjtBQUNqQyxZQUFNMkIsVUFBVTNCLFdBQVcyQixPQUEzQjtBQUNBNUIsaUJBQVNmLGFBQWEsTUFBYixHQUFUO0FBQ0EsWUFBTTRDLE9BQU9ELFFBQVFFLE1BQVIsQ0FBZSxDQUFmLENBQWI7O0FBRUE7QUFDQTlCLGlCQUFTZixhQUFhLGtCQUFiLEVBQWlDO0FBQ3RDOEMsc0JBQVU5QixXQUFXZSxLQUFYLENBQWlCYSxLQUFLSixFQUF0QixDQUQ0QjtBQUV0Q0MsbUJBQU9HLEtBQUtIO0FBRjBCLFNBQWpDLENBQVQ7O0FBS0E7QUFDQTFCLGlCQUFTeEMsZ0JBQWdCO0FBQ3JCaUUsZ0JBQUlJLEtBQUtKLEVBRFk7QUFFckJDLG1CQUFPRyxLQUFLSDtBQUZTLFNBQWhCLENBQVQ7QUFJSCxLQWhCRDtBQWlCSDs7QUFHTSxTQUFTbkUsSUFBVCxHQUFnQjtBQUNuQixXQUFPLFVBQVV5QyxRQUFWLEVBQW9CQyxRQUFwQixFQUE4QjtBQUNqQyxZQUFNMkIsVUFBVTNCLFdBQVcyQixPQUEzQjtBQUNBNUIsaUJBQVNmLGFBQWEsTUFBYixHQUFUO0FBQ0EsWUFBTStDLFdBQVdKLFFBQVFLLElBQVIsQ0FBYUwsUUFBUUssSUFBUixDQUFhbkIsTUFBYixHQUFzQixDQUFuQyxDQUFqQjs7QUFFQTtBQUNBZCxpQkFBU2YsYUFBYSxrQkFBYixFQUFpQztBQUN0QzhDLHNCQUFVOUIsV0FBV2UsS0FBWCxDQUFpQmdCLFNBQVNQLEVBQTFCLENBRDRCO0FBRXRDQyxtQkFBT00sU0FBU047QUFGc0IsU0FBakMsQ0FBVDs7QUFLQTtBQUNBMUIsaUJBQVN4QyxnQkFBZ0I7QUFDckJpRSxnQkFBSU8sU0FBU1AsRUFEUTtBQUVyQkMsbUJBQU9NLFNBQVNOO0FBRkssU0FBaEIsQ0FBVDtBQUlILEtBaEJEO0FBaUJIOztBQUlELFNBQVNSLGNBQVQsQ0FBd0JnQixPQUF4QixFQUFpQzlCLFVBQWpDLEVBQTZDO0FBQ3pDOzs7OztBQUtBLFFBQU0rQixtQkFBbUJELFFBQVFFLEdBQVIsQ0FBWTtBQUFBLGVBQVc7QUFDNUNoQixtQkFBT1QsTUFEcUM7QUFFNUM7QUFDQTBCLHFCQUFTakMsV0FBV1MsY0FBWCxDQUEwQkYsTUFBMUIsQ0FIbUM7QUFJNUNnQiw2QkFBaUI7QUFKMkIsU0FBWDtBQUFBLEtBQVosQ0FBekI7O0FBT0EsUUFBTVcseUJBQXlCeEQsS0FDM0IsVUFBQ3lELENBQUQsRUFBSUMsQ0FBSjtBQUFBLGVBQVVBLEVBQUVILE9BQUYsQ0FBVXZCLE1BQVYsR0FBbUJ5QixFQUFFRixPQUFGLENBQVV2QixNQUF2QztBQUFBLEtBRDJCLEVBRTNCcUIsZ0JBRjJCLENBQS9COztBQUtBOzs7Ozs7Ozs7OztBQVdBRywyQkFBdUI3QixPQUF2QixDQUErQixVQUFDZ0MsSUFBRCxFQUFPQyxDQUFQLEVBQWE7QUFDeEMsWUFBTUMsMkJBQTJCekUsUUFBUVEsTUFDckMsU0FEcUMsRUFDMUJHLE1BQU0sQ0FBTixFQUFTNkQsQ0FBVCxFQUFZSixzQkFBWixDQUQwQixDQUFSLENBQWpDO0FBRUFHLGFBQUtKLE9BQUwsQ0FBYTVCLE9BQWIsQ0FBcUIsa0JBQVU7QUFDM0IsZ0JBQUkxQyxTQUFTNkUsTUFBVCxFQUFpQkQsd0JBQWpCLENBQUosRUFBZ0Q7QUFDNUNGLHFCQUFLZCxlQUFMLENBQXFCVixJQUFyQixDQUEwQjJCLE1BQTFCO0FBQ0g7QUFDSixTQUpEO0FBS0gsS0FSRDs7QUFVQSxXQUFPTixzQkFBUDtBQUNIOztBQUlNLFNBQVM5RSxlQUFULENBQXlCcUYsT0FBekIsRUFBa0M7QUFDckMsV0FBTyxVQUFVN0MsUUFBVixFQUFvQkMsUUFBcEIsRUFBOEI7QUFBQSxZQUU3QndCLEVBRjZCLEdBTTdCb0IsT0FONkIsQ0FFN0JwQixFQUY2QjtBQUFBLFlBRzdCcUIsS0FINkIsR0FNN0JELE9BTjZCLENBRzdCQyxLQUg2QjtBQUFBLFlBSTdCcEIsS0FKNkIsR0FNN0JtQixPQU42QixDQUk3Qm5CLEtBSjZCO0FBQUEsWUFLN0JDLGVBTDZCLEdBTTdCa0IsT0FONkIsQ0FLN0JsQixlQUw2Qjs7QUFBQSx5QkFXN0IxQixVQVg2QjtBQUFBLFlBUzdCRSxNQVQ2QixjQVM3QkEsTUFUNkI7QUFBQSxZQVU3QjRDLFlBVjZCLGNBVTdCQSxZQVY2Qjs7QUFBQSxZQVkxQkMsVUFaMEIsR0FZQTdDLE1BWkEsQ0FZMUI2QyxVQVowQjtBQUFBLFlBWWQ1QyxVQVpjLEdBWUFELE1BWkEsQ0FZZEMsVUFaYztBQWFqQzs7Ozs7Ozs7QUFPQSxZQUFJNkMsd0JBQUo7QUFDQSxZQUFJSCxLQUFKLEVBQVc7QUFDUEcsOEJBQWtCRCxXQUFXbkMsY0FBWCxDQUE2QlksRUFBN0IsU0FBbUNxQixLQUFuQyxDQUFsQjtBQUNILFNBRkQsTUFFTztBQUNILGdCQUFNSSxlQUFlM0UsS0FBS21ELEtBQUwsQ0FBckI7QUFDQXVCLDhCQUFrQixFQUFsQjtBQUNBQyx5QkFBYXpDLE9BQWIsQ0FBcUIsb0JBQVk7QUFDN0Isb0JBQU0wQyxPQUFVMUIsRUFBVixTQUFnQjJCLFFBQXRCO0FBQ0Esb0JBQUksQ0FBQ2hELFdBQVdpRCxPQUFYLENBQW1CRixJQUFuQixDQUFMLEVBQStCO0FBQzNCO0FBQ0g7QUFDRC9DLDJCQUFXUyxjQUFYLENBQTBCc0MsSUFBMUIsRUFBZ0MxQyxPQUFoQyxDQUF3QyxvQkFBWTtBQUNoRDs7Ozs7Ozs7QUFRQSx3QkFBSSxDQUFDMUMsU0FBU3VGLFFBQVQsRUFBbUJMLGVBQW5CLENBQUwsRUFBMEM7QUFDdENBLHdDQUFnQmhDLElBQWhCLENBQXFCcUMsUUFBckI7QUFDSDtBQUNKLGlCQVpEO0FBYUgsYUFsQkQ7QUFtQkg7O0FBRUQsWUFBSTNCLGVBQUosRUFBcUI7QUFDakJzQiw4QkFBa0JyRSxPQUNkVCxLQUFLSixRQUFMLEVBQWU0RCxlQUFmLENBRGMsRUFFZHNCLGVBRmMsQ0FBbEI7QUFJSDs7QUFFRCxZQUFJM0UsUUFBUTJFLGVBQVIsQ0FBSixFQUE4QjtBQUMxQjtBQUNIOztBQUVEOzs7OztBQUtBLFlBQU1NLFdBQVduRCxXQUFXRSxZQUFYLEVBQWpCO0FBQ0EyQywwQkFBa0JuRSxLQUNkLFVBQUN5RCxDQUFELEVBQUlDLENBQUo7QUFBQSxtQkFBVWUsU0FBU0MsT0FBVCxDQUFpQmhCLENBQWpCLElBQXNCZSxTQUFTQyxPQUFULENBQWlCakIsQ0FBakIsQ0FBaEM7QUFBQSxTQURjLEVBRWRVLGVBRmMsQ0FBbEI7QUFJQSxZQUFNUSxrQkFBa0IsRUFBeEI7QUFDQVIsd0JBQWdCeEMsT0FBaEIsQ0FBd0IsU0FBU2lELGVBQVQsQ0FBeUJDLGVBQXpCLEVBQTBDO0FBQzlELGdCQUFNQyxvQkFBb0JELGdCQUFnQi9DLEtBQWhCLENBQXNCLEdBQXRCLEVBQTJCLENBQTNCLENBQTFCOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JDOzs7O0FBSUQsZ0JBQU1pRCxjQUFlekQsV0FBV2lELE9BQVgsQ0FBbUJNLGVBQW5CLElBQ2pCdkQsV0FBV1csWUFBWCxDQUF3QjRDLGVBQXhCLENBRGlCLEdBQzBCLEVBRC9DOztBQUdBLGdCQUFNRywyQkFBMkJ6RixhQUM3Qm9GLGVBRDZCLEVBRTdCSSxXQUY2QixDQUFqQzs7QUFLQTs7Ozs7Ozs7Ozs7OztBQWFBLGdCQUFNRSw4QkFBOEJuRyxJQUFJO0FBQUEsdUJBQ3BDRyxTQUFTaUcsRUFBRUMsWUFBWCxFQUF5QkosV0FBekIsS0FBeUNHLEVBQUVFLE1BQUYsS0FBYSxTQURsQjtBQUFBLGFBQUosRUFFaENuQixZQUZnQyxDQUFwQzs7QUFLQTs7Ozs7Ozs7Ozs7OztBQWFBOzs7Ozs7O0FBT0MsZ0JBQ0tlLHlCQUF5QmhELE1BQXpCLEtBQW9DLENBQXJDLElBQ0MxQyxJQUFJd0YsaUJBQUosRUFBdUIzRCxXQUFXZSxLQUFsQyxDQURELElBRUEsQ0FBQytDLDJCQUhMLEVBSUU7QUFDRU4sZ0NBQWdCeEMsSUFBaEIsQ0FBcUIwQyxlQUFyQjtBQUNIO0FBQ0wsU0FoRkQ7O0FBa0ZBOzs7OztBQUtBLFlBQU1RLGtCQUFrQlYsZ0JBQWdCckIsR0FBaEIsQ0FDcEI7QUFBQSxtQkFBTTtBQUNGNkIsOEJBQWN2QixDQURaO0FBRUZ3Qix3QkFBUSxTQUZOO0FBR0YzRSxxQkFBS0EsS0FISDtBQUlGNkUsNkJBQWFDLEtBQUtDLEdBQUw7QUFKWCxhQUFOO0FBQUEsU0FEb0IsQ0FBeEI7QUFRQXRFLGlCQUFTTixnQkFDTDVCLE9BQ0lpRixZQURKLEVBRUlvQixlQUZKLENBREssQ0FBVDs7QUFPQSxZQUFNSSxXQUFXLEVBQWpCO0FBQ0EsYUFBSyxJQUFJN0IsSUFBSSxDQUFiLEVBQWdCQSxJQUFJZSxnQkFBZ0IzQyxNQUFwQyxFQUE0QzRCLEdBQTVDLEVBQWlEO0FBQzdDLGdCQUFNaUIsa0JBQWtCRixnQkFBZ0JmLENBQWhCLENBQXhCOztBQUQ2Qyx3Q0FFTGlCLGdCQUFnQi9DLEtBQWhCLENBQXNCLEdBQXRCLENBRks7QUFBQTtBQUFBLGdCQUV0Q2dELGlCQUZzQztBQUFBLGdCQUVuQlksVUFGbUI7O0FBSTdDLGdCQUFNQyxhQUFhTixnQkFBZ0J6QixDQUFoQixFQUFtQm5ELEdBQXRDOztBQUVBZ0YscUJBQVN0RCxJQUFULENBQWN5RCxhQUNWZCxpQkFEVSxFQUVWWSxVQUZVLEVBR1YxQixLQUhVLEVBSVY3QyxRQUpVLEVBS1Z3RSxVQUxVLEVBTVZ6RSxRQU5VLENBQWQ7QUFRSDs7QUFFRCxlQUFPMkUsUUFBUUMsR0FBUixDQUFZTCxRQUFaLENBQVA7QUFDSCxLQTdMRDtBQThMSDs7QUFFRCxTQUFTRyxZQUFULENBQ0lkLGlCQURKLEVBRUlZLFVBRkosRUFHSTFCLEtBSEosRUFJSTdDLFFBSkosRUFLSXdFLFVBTEosRUFNSXpFLFFBTkosRUFPRTtBQUFBLHFCQU9NQyxVQVBOO0FBQUEsUUFFTTRFLE1BRk4sY0FFTUEsTUFGTjtBQUFBLFFBR01yRCxNQUhOLGNBR01BLE1BSE47QUFBQSxRQUlNckIsTUFKTixjQUlNQSxNQUpOO0FBQUEsUUFLTWEsS0FMTixjQUtNQSxLQUxOO0FBQUEsUUFNTThELG1CQU5OLGNBTU1BLG1CQU5OOztBQUFBLFFBUVMxRSxVQVJULEdBUXVCRCxNQVJ2QixDQVFTQyxVQVJUOztBQVVFOzs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQyxRQUFNeUMsVUFBVTtBQUNaRCxnQkFBUSxFQUFDbkIsSUFBSW1DLGlCQUFMLEVBQXdCbUIsVUFBVVAsVUFBbEM7QUFESSxLQUFoQjs7QUFJQSxRQUFJMUIsS0FBSixFQUFXO0FBQ1JELGdCQUFRQyxLQUFSLEdBQWdCQSxLQUFoQjtBQUNIOztBQWhDSCxnQ0FrQzBCZ0Msb0JBQW9CRSxPQUFwQixDQUE0QkMsSUFBNUIsQ0FDcEI7QUFBQSxlQUNJQyxXQUFXdEMsTUFBWCxDQUFrQm5CLEVBQWxCLEtBQXlCbUMsaUJBQXpCLElBQ0FzQixXQUFXdEMsTUFBWCxDQUFrQm1DLFFBQWxCLEtBQStCUCxVQUZuQztBQUFBLEtBRG9CLENBbEMxQjtBQUFBLFFBa0NTVyxNQWxDVCx5QkFrQ1NBLE1BbENUO0FBQUEsUUFrQ2lCQyxLQWxDakIseUJBa0NpQkEsS0FsQ2pCOztBQXdDRSxRQUFNQyxZQUFZOUcsS0FBS3lDLEtBQUwsQ0FBbEI7QUFDQSxRQUFJbUUsT0FBT3JFLE1BQVAsR0FBZ0IsQ0FBcEIsRUFBdUI7QUFDbkIrQixnQkFBUXNDLE1BQVIsR0FBaUJBLE9BQU8vQyxHQUFQLENBQVcsdUJBQWU7QUFDdkM7QUFDQSxnQkFBSSxDQUFDckUsU0FBU3VILFlBQVk3RCxFQUFyQixFQUF5QjRELFNBQXpCLENBQUwsRUFBMEM7QUFDeEMsc0JBQU1FLGVBQ0osNENBQ0EsOEJBREEsR0FFQSw0QkFGQSxHQUdBRCxZQUFZN0QsRUFIWixHQUdpQix5QkFIakIsR0FJQTZELFlBQVlQLFFBSlosR0FLQSw4Q0FMQSxHQU1BLElBTkEsR0FNT00sVUFBVUcsSUFBVixDQUFlLElBQWYsQ0FOUCxHQU04QixJQVAxQixDQUFOO0FBU0Q7QUFDRCxnQkFBTWxFLFdBQVc5QyxTQUNiVixPQUFPa0QsTUFBTXNFLFlBQVk3RCxFQUFsQixDQUFQLEVBQ0EsQ0FBQyxPQUFELEVBQVU2RCxZQUFZUCxRQUF0QixDQURBLENBRGEsQ0FBakI7QUFJQSxtQkFBTztBQUNIdEQsb0JBQUk2RCxZQUFZN0QsRUFEYjtBQUVIc0QsMEJBQVVPLFlBQVlQLFFBRm5CO0FBR0hVLHVCQUFPekcsS0FBS3NDLFFBQUwsRUFBZUUsTUFBZjtBQUhKLGFBQVA7QUFLSCxTQXRCZ0IsQ0FBakI7QUF1Qkg7QUFDRCxRQUFJNEQsTUFBTXRFLE1BQU4sR0FBZSxDQUFuQixFQUFzQjtBQUNsQitCLGdCQUFRdUMsS0FBUixHQUFnQkEsTUFBTWhELEdBQU4sQ0FBVSx1QkFBZTtBQUNyQztBQUNBLGdCQUFJLENBQUNyRSxTQUFTMkgsWUFBWWpFLEVBQXJCLEVBQXlCNEQsU0FBekIsQ0FBTCxFQUEwQztBQUN4QyxzQkFBTUUsZUFDSiwyQ0FDQSxxQ0FEQSxHQUVBLDRCQUZBLEdBR0FHLFlBQVlqRSxFQUhaLEdBR2lCLHlCQUhqQixHQUlBaUUsWUFBWVgsUUFKWixHQUtBLDhDQUxBLEdBTUEsSUFOQSxHQU1PTSxVQUFVRyxJQUFWLENBQWUsSUFBZixDQU5QLEdBTThCLElBUDFCLENBQU47QUFTRDtBQUNELGdCQUFNbEUsV0FBVzlDLFNBQ2JWLE9BQU9rRCxNQUFNMEUsWUFBWWpFLEVBQWxCLENBQVAsRUFDQSxDQUFDLE9BQUQsRUFBVWlFLFlBQVlYLFFBQXRCLENBREEsQ0FEYSxDQUFqQjtBQUlBLG1CQUFPO0FBQ0h0RCxvQkFBSWlFLFlBQVlqRSxFQURiO0FBRUhzRCwwQkFBVVcsWUFBWVgsUUFGbkI7QUFHSFUsdUJBQU96RyxLQUFLc0MsUUFBTCxFQUFlRSxNQUFmO0FBSEosYUFBUDtBQUtILFNBdEJlLENBQWhCO0FBdUJIOztBQUVELFdBQU9tRSxNQUFTbkcsUUFBUXFGLE1BQVIsQ0FBVCw2QkFBa0Q7QUFDckRlLGdCQUFRLE1BRDZDO0FBRXJEQyxpQkFBUztBQUNMLDRCQUFnQixrQkFEWDtBQUVMLDJCQUFldkcsT0FBT3dHLEtBQVAsQ0FBYUMsU0FBU3pHLE1BQXRCLEVBQThCMEc7QUFGeEMsU0FGNEM7QUFNckRDLHFCQUFhLGFBTndDO0FBT3JEQyxjQUFNQyxLQUFLQyxTQUFMLENBQWV2RCxPQUFmO0FBUCtDLEtBQWxELEVBUUp3RCxJQVJJLENBUUMsU0FBU0MsY0FBVCxDQUF3QkMsR0FBeEIsRUFBNkI7O0FBRWpDLFlBQU1DLHNCQUFzQixTQUF0QkEsbUJBQXNCLEdBQU07QUFDOUIsZ0JBQU1DLG1CQUFtQnhHLFdBQVc4QyxZQUFwQztBQUNBLGdCQUFNMkQsbUJBQW1CMUksVUFDckJXLE9BQU8sS0FBUCxFQUFjOEYsVUFBZCxDQURxQixFQUVyQmdDLGdCQUZxQixDQUF6QjtBQUlBLG1CQUFPQyxnQkFBUDtBQUNILFNBUEQ7O0FBU0EsWUFBTUMscUJBQXFCLFNBQXJCQSxrQkFBcUIsV0FBWTtBQUNuQyxnQkFBTUYsbUJBQW1CeEcsV0FBVzhDLFlBQXBDO0FBQ0EsZ0JBQU0yRCxtQkFBbUJGLHFCQUF6QjtBQUNBLGdCQUFJRSxxQkFBcUIsQ0FBQyxDQUExQixFQUE2QjtBQUN6QjtBQUNBO0FBQ0g7QUFDRCxnQkFBTUUsZUFBZWpKLE9BQ2pCYyxNQUFNZixFQUFOLEVBQVU7QUFDTndHLHdCQUFRcUMsSUFBSXJDLE1BRE47QUFFTjJDLDhCQUFjeEMsS0FBS0MsR0FBTCxFQUZSO0FBR053QztBQUhNLGFBQVYsQ0FEaUIsRUFNakJKLGdCQU5pQixFQU9qQkQsZ0JBUGlCLENBQXJCO0FBU0E7QUFDQSxnQkFBTU0sbUJBQW1CTixpQkFDckJDLGdCQURxQixFQUNIekMsWUFEdEI7QUFFQSxnQkFBTStDLGNBQWNKLGFBQWFLLE1BQWIsQ0FDaEIsVUFBQ0MsU0FBRCxFQUFZQyxLQUFaLEVBQXNCO0FBQ2xCLHVCQUNJRCxVQUFVakQsWUFBVixLQUEyQjhDLGdCQUEzQixJQUNBSSxTQUFTVCxnQkFGYjtBQUlILGFBTmUsQ0FBcEI7O0FBU0ExRyxxQkFBU04sZ0JBQWdCc0gsV0FBaEIsQ0FBVDtBQUNILFNBN0JEOztBQStCQSxZQUFNSSxhQUFhLFNBQWJBLFVBQWEsR0FBTTtBQUNyQixnQkFBTUMscUJBQXFCcEosY0FDdkJVLE9BQU8sY0FBUCxFQUEwQmlGLGlCQUExQixTQUErQ1ksVUFBL0MsQ0FEdUIsRUFDdUM7QUFDOUR2RSx1QkFBVzhDLFlBRlksQ0FBM0I7QUFJQTs7Ozs7O0FBTUEsZ0JBQU0rRCxXQUFXTyxxQkFBcUJiLHFCQUF0QztBQUNBLG1CQUFPTSxRQUFQO0FBQ0gsU0FiRDs7QUFlQSxZQUFJUCxJQUFJckMsTUFBSixLQUFlLEdBQW5CLEVBQXdCO0FBQ3BCO0FBQ0F5QywrQkFBbUIsSUFBbkI7QUFDQTtBQUNIOztBQUVEOzs7OztBQUtBLFlBQUlTLFlBQUosRUFBa0I7QUFDZFQsK0JBQW1CLElBQW5CO0FBQ0E7QUFDSDs7QUFFRCxlQUFPSixJQUFJZSxJQUFKLEdBQVdqQixJQUFYLENBQWdCLFNBQVNrQixVQUFULENBQW9CQyxJQUFwQixFQUEwQjtBQUM3Qzs7Ozs7O0FBTUMsZ0JBQUlKLFlBQUosRUFBa0I7QUFDZFQsbUNBQW1CLElBQW5CO0FBQ0E7QUFDSDs7QUFFRkEsK0JBQW1CLEtBQW5COztBQUVBOzs7Ozs7OztBQVFBLGdCQUFJLENBQUN2SSxJQUFJd0YsaUJBQUosRUFBdUIzRCxXQUFXZSxLQUFsQyxDQUFMLEVBQStDO0FBQzNDO0FBQ0g7O0FBRUQ7QUFDQSxnQkFBTXlHLHdCQUF3QjtBQUMxQjFGLDBCQUFVOUIsV0FBV2UsS0FBWCxDQUFpQjRDLGlCQUFqQixDQURnQjtBQUUxQjtBQUNBbEMsdUJBQU84RixLQUFLRSxRQUFMLENBQWNoRyxLQUhLO0FBSTFCaUcsd0JBQVE7QUFKa0IsYUFBOUI7QUFNQTNILHFCQUFTUCxZQUFZZ0kscUJBQVosQ0FBVDs7QUFFQXpILHFCQUFTeEMsZ0JBQWdCO0FBQ3JCaUUsb0JBQUltQyxpQkFEaUI7QUFFckJsQyx1QkFBTzhGLEtBQUtFLFFBQUwsQ0FBY2hHO0FBRkEsYUFBaEIsQ0FBVDs7QUFLQTs7Ozs7QUFLQSxnQkFBSXRELElBQUksVUFBSixFQUFnQnFKLHNCQUFzQi9GLEtBQXRDLENBQUosRUFBa0Q7O0FBRTlDMUIseUJBQVNKLGFBQWE7QUFDbEJnSSw2QkFBU0gsc0JBQXNCL0YsS0FBdEIsQ0FBNEJtRyxRQURuQjtBQUVsQkMsa0NBQWNoSyxPQUNWbUMsV0FBV2UsS0FBWCxDQUFpQjRDLGlCQUFqQixDQURVLEVBRVYsQ0FBQyxPQUFELEVBQVUsVUFBVixDQUZVO0FBRkksaUJBQWIsQ0FBVDs7QUFRQTs7Ozs7QUFLQSxvQkFBSTdGLFNBQ0lnQixLQUFLMEksc0JBQXNCL0YsS0FBdEIsQ0FBNEJtRyxRQUFqQyxDQURKLEVBRUksQ0FBQyxPQUFELEVBQVUsUUFBVixDQUZKLEtBR0ssQ0FBQ3ZKLFFBQVFtSixzQkFBc0IvRixLQUF0QixDQUE0Qm1HLFFBQXBDLENBSFYsRUFJRTtBQUNFOzs7Ozs7O0FBT0Esd0JBQU1FLFdBQVcsRUFBakI7QUFDQTdJLGdDQUNJdUksc0JBQXNCL0YsS0FBdEIsQ0FBNEJtRyxRQURoQyxFQUVJLFNBQVNHLFNBQVQsQ0FBbUJDLEtBQW5CLEVBQTBCO0FBQ3RCLDRCQUFJOUksTUFBTThJLEtBQU4sQ0FBSixFQUFrQjtBQUNkMUosaUNBQUswSixNQUFNdkcsS0FBWCxFQUFrQmpCLE9BQWxCLENBQTBCLHFCQUFhO0FBQ25DLG9DQUFNeUgscUJBQ0NELE1BQU12RyxLQUFOLENBQVlELEVBRGIsU0FDbUIwRyxTQUR6QjtBQUdBLG9DQUFJL0osSUFBSThKLGtCQUFKLEVBQXdCOUgsV0FBV2dJLEtBQW5DLENBQUosRUFBK0M7QUFDM0NMLDZDQUFTRyxrQkFBVCxJQUFnQztBQUM1QnpHLDRDQUFJd0csTUFBTXZHLEtBQU4sQ0FBWUQsRUFEWTtBQUU1QkMsbUVBQ0t5RyxTQURMLEVBQ2lCRixNQUFNdkcsS0FBTixDQUFZeUcsU0FBWixDQURqQjtBQUY0QixxQ0FBaEM7QUFNSDtBQUNKLDZCQVpEO0FBYUg7QUFDSixxQkFsQkw7O0FBcUJBOzs7Ozs7Ozs7O0FBVUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsd0JBQU1FLFlBQVksRUFBbEI7QUFDQTlKLHlCQUFLd0osUUFBTCxFQUFldEgsT0FBZixDQUF1QixxQkFBYTtBQUNoQztBQUNJO0FBQ0FMLG1DQUFXUyxjQUFYLENBQTBCeUgsU0FBMUIsRUFBcUN4SCxNQUFyQyxLQUFnRCxDQUFoRDtBQUNBOzs7O0FBSUF6QyxxQ0FDSStCLFdBQVdXLFlBQVgsQ0FBd0J1SCxTQUF4QixDQURKLEVBRUkvSixLQUFLd0osUUFBTCxDQUZKLEVBR0VqSCxNQUhGLElBR1ksQ0FWaEIsRUFXRTtBQUNFdUgsc0NBQVVwSCxJQUFWLENBQWVxSCxTQUFmO0FBQ0EsbUNBQU9QLFNBQVNPLFNBQVQsQ0FBUDtBQUNIO0FBQ0oscUJBaEJEOztBQWtCQTtBQUNBLHdCQUFNQyxpQkFBaUJySCxlQUNuQjNDLEtBQUt3SixRQUFMLENBRG1CLEVBQ0gzSCxVQURHLENBQXZCO0FBRUEsd0JBQU1tRCxXQUFXbkQsV0FBV0UsWUFBWCxFQUFqQjtBQUNBLHdCQUFNa0ksaUJBQWlCMUosS0FBSyxVQUFDeUQsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsK0JBQ3hCZSxTQUFTQyxPQUFULENBQWlCakIsRUFBRW5CLEtBQW5CLElBQTRCbUMsU0FBU0MsT0FBVCxDQUFpQmhCLEVBQUVwQixLQUFuQixDQURKO0FBQUEscUJBQUwsRUFFbkJtSCxjQUZtQixDQUF2QjtBQUlBQyxtQ0FBZS9ILE9BQWYsQ0FBdUIsVUFBU1UsV0FBVCxFQUFzQjtBQUN6Qyw0QkFBTTBCLFVBQVVrRixTQUFTNUcsWUFBWUMsS0FBckIsQ0FBaEI7QUFDQXlCLGdDQUFRbEIsZUFBUixHQUEwQlIsWUFBWVEsZUFBdEM7QUFDQTNCLGlDQUFTeEMsZ0JBQWdCcUYsT0FBaEIsQ0FBVDtBQUNILHFCQUpEOztBQU1BO0FBQ0F3Riw4QkFBVTVILE9BQVYsQ0FBa0IscUJBQWE7QUFDM0IsNEJBQU1nRSxhQUFhbEYsS0FBbkI7QUFDQVMsaUNBQVNOLGdCQUNMN0IsT0FBTztBQUNIO0FBQ0FvRywwQ0FBYyxJQUZYO0FBR0hDLG9DQUFRLFNBSEw7QUFJSDNFLGlDQUFLa0YsVUFKRjtBQUtITCx5Q0FBYUMsS0FBS0MsR0FBTDtBQUxWLHlCQUFQLEVBTUdyRSxXQUFXOEMsWUFOZCxDQURLLENBQVQ7QUFTQTJCLHFDQUNJNEQsVUFBVTFILEtBQVYsQ0FBZ0IsR0FBaEIsRUFBcUIsQ0FBckIsQ0FESixFQUVJMEgsVUFBVTFILEtBQVYsQ0FBZ0IsR0FBaEIsRUFBcUIsQ0FBckIsQ0FGSixFQUdJLElBSEosRUFJSVgsUUFKSixFQUtJd0UsVUFMSixFQU1JekUsUUFOSjtBQVFILHFCQW5CRDtBQXFCSDtBQUdKO0FBRUosU0FyTE0sQ0FBUDtBQXNMSCxLQXZRTSxDQUFQO0FBeVFIOztBQUVNLFNBQVN2QyxTQUFULENBQW1CMkgsS0FBbkIsRUFBMEI7QUFDN0I7QUFENkIsUUFFdEJqRixNQUZzQixHQUVHaUYsS0FGSCxDQUV0QmpGLE1BRnNCO0FBQUEsUUFFZGEsS0FGYyxHQUVHb0UsS0FGSCxDQUVkcEUsS0FGYztBQUFBLFFBRVBRLE1BRk8sR0FFRzRELEtBRkgsQ0FFUDVELE1BRk87QUFBQSxRQUd0QnBCLFVBSHNCLEdBR1JELE1BSFEsQ0FHdEJDLFVBSHNCOztBQUk3QixRQUFNQyxXQUFXRCxXQUFXZ0ksS0FBNUI7QUFDQSxRQUFNSyxhQUFhLEVBQW5CO0FBQ0FsSyxTQUFLOEIsUUFBTCxFQUFlSSxPQUFmLENBQXVCLGtCQUFVO0FBQUEsNEJBQ1FFLE9BQU9DLEtBQVAsQ0FBYSxHQUFiLENBRFI7QUFBQTtBQUFBLFlBQ3RCRixXQURzQjtBQUFBLFlBQ1RXLGFBRFM7QUFFN0I7Ozs7OztBQUlBLFlBQUlqQixXQUFXUyxjQUFYLENBQTBCRixNQUExQixFQUFrQ0csTUFBbEMsR0FBMkMsQ0FBM0MsSUFDQTFDLElBQUlzQyxXQUFKLEVBQWlCTSxLQUFqQixDQURKLEVBRUU7QUFDRTtBQUNBLGdCQUFNTSxXQUFXOUMsU0FDYlYsT0FBT2tELE1BQU1OLFdBQU4sQ0FBUCxFQUNBLENBQUMsT0FBRCxFQUFVVyxhQUFWLENBREEsQ0FEYSxDQUFqQjtBQUlBLGdCQUFNRSxZQUFZdkMsS0FDZHNDLFFBRGMsRUFFZEUsTUFGYyxDQUFsQjtBQUlBaUgsdUJBQVc5SCxNQUFYLElBQXFCWSxTQUFyQjtBQUNIO0FBQ0osS0FwQkQ7O0FBc0JBLFdBQU9rSCxVQUFQO0FBRUgiLCJmaWxlIjoiLi9zcmMvYWN0aW9ucy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBmZXRjaDp0cnVlLCBQcm9taXNlOnRydWUsIGRvY3VtZW50OnRydWUgKi9cclxuaW1wb3J0IHtcclxuICAgIF9fLFxyXG4gICAgYWRqdXN0LFxyXG4gICAgYW55LFxyXG4gICAgYXBwZW5kLFxyXG4gICAgY29uY2F0LFxyXG4gICAgY29udGFpbnMsXHJcbiAgICBmaW5kSW5kZXgsXHJcbiAgICBmaW5kTGFzdEluZGV4LFxyXG4gICAgZmxhdHRlbixcclxuICAgIGZsaXAsXHJcbiAgICBoYXMsXHJcbiAgICBpbnRlcnNlY3Rpb24sXHJcbiAgICBpc0VtcHR5LFxyXG4gICAga2V5cyxcclxuICAgIGxlbnNQYXRoLFxyXG4gICAgbWVyZ2UsXHJcbiAgICBwbHVjayxcclxuICAgIHByb3BFcSxcclxuICAgIHJlamVjdCxcclxuICAgIHNsaWNlLFxyXG4gICAgc29ydCxcclxuICAgIHR5cGUsXHJcbi8vICAgIHZhbHVlcyxcclxuICAgIHZpZXdcclxufSBmcm9tICdyYW1kYSc7XHJcbmltcG9ydCB7Y3JlYXRlQWN0aW9ufSBmcm9tICdyZWR1eC1hY3Rpb25zJztcclxuaW1wb3J0IHtjcmF3bExheW91dCwgaGFzSWR9IGZyb20gJy4uL3JlZHVjZXJzL3V0aWxzJztcclxuaW1wb3J0IHtBUFBfU1RBVEVTfSBmcm9tICcuLi9yZWR1Y2Vycy9jb25zdGFudHMnO1xyXG5pbXBvcnQge0FDVElPTlN9IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IGNvb2tpZSBmcm9tICdjb29raWUnO1xyXG5pbXBvcnQge3VpZCwgdXJsQmFzZX0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHVwZGF0ZVByb3BzID0gY3JlYXRlQWN0aW9uKEFDVElPTlMoJ09OX1BST1BfQ0hBTkdFJykpO1xyXG5leHBvcnQgY29uc3Qgc2V0UmVxdWVzdFF1ZXVlID0gY3JlYXRlQWN0aW9uKEFDVElPTlMoJ1NFVF9SRVFVRVNUX1FVRVVFJykpO1xyXG5leHBvcnQgY29uc3QgY29tcHV0ZUdyYXBocyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05TKCdDT01QVVRFX0dSQVBIUycpKTtcclxuZXhwb3J0IGNvbnN0IGNvbXB1dGVQYXRocyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05TKCdDT01QVVRFX1BBVEhTJykpO1xyXG5leHBvcnQgY29uc3Qgc2V0TGF5b3V0ID0gY3JlYXRlQWN0aW9uKEFDVElPTlMoJ1NFVF9MQVlPVVQnKSk7XHJcbmV4cG9ydCBjb25zdCBzZXRBcHBMaWZlY3ljbGUgPSBjcmVhdGVBY3Rpb24oQUNUSU9OUygnU0VUX0FQUF9MSUZFQ1lDTEUnKSk7XHJcbmV4cG9ydCBjb25zdCByZWFkQ29uZmlnID0gY3JlYXRlQWN0aW9uKEFDVElPTlMoJ1JFQURfQ09ORklHJykpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGVJbml0aWFsT3V0cHV0cygpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoZGlzcGF0Y2gsIGdldFN0YXRlKSB7XHJcbiAgICAgICAgdHJpZ2dlckRlZmF1bHRTdGF0ZShkaXNwYXRjaCwgZ2V0U3RhdGUpO1xyXG4gICAgICAgIGRpc3BhdGNoKHNldEFwcExpZmVjeWNsZShBUFBfU1RBVEVTKCdIWURSQVRFRCcpKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRyaWdnZXJEZWZhdWx0U3RhdGUoZGlzcGF0Y2gsIGdldFN0YXRlKSB7XHJcbiAgICBjb25zdCB7Z3JhcGhzfSA9IGdldFN0YXRlKCk7XHJcbiAgICBjb25zdCB7SW5wdXRHcmFwaH0gPSBncmFwaHM7XHJcbiAgICBjb25zdCBhbGxOb2RlcyA9IElucHV0R3JhcGgub3ZlcmFsbE9yZGVyKCk7XHJcbiAgICBjb25zdCBpbnB1dE5vZGVJZHMgPSBbXTtcclxuICAgIGFsbE5vZGVzLnJldmVyc2UoKTtcclxuICAgIGFsbE5vZGVzLmZvckVhY2gobm9kZUlkID0+IHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRJZCA9IG5vZGVJZC5zcGxpdCgnLicpWzBdO1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogRmlsdGVyIG91dCB0aGUgb3V0cHV0cyxcclxuICAgICAgICAgKiBpbnB1dHMgdGhhdCBhcmVuJ3QgbGVhdmVzLFxyXG4gICAgICAgICAqIGFuZCB0aGUgaW52aXNpYmxlIGlucHV0c1xyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGlmIChJbnB1dEdyYXBoLmRlcGVuZGVuY2llc09mKG5vZGVJZCkubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgICBJbnB1dEdyYXBoLmRlcGVuZGFudHNPZihub2RlSWQpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgICAgICBoYXMoY29tcG9uZW50SWQsIGdldFN0YXRlKCkucGF0aHMpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlucHV0Tm9kZUlkcy5wdXNoKG5vZGVJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVkdWNlSW5wdXRJZHMoaW5wdXROb2RlSWRzLCBJbnB1dEdyYXBoKS5mb3JFYWNoKGlucHV0T3V0cHV0ID0+IHtcclxuICAgICAgICBjb25zdCBbY29tcG9uZW50SWQsIGNvbXBvbmVudFByb3BdID0gaW5wdXRPdXRwdXQuaW5wdXQuc3BsaXQoJy4nKTtcclxuICAgICAgICAvLyBHZXQgdGhlIGluaXRpYWwgcHJvcGVydHlcclxuICAgICAgICBjb25zdCBwcm9wTGVucyA9IGxlbnNQYXRoKFxyXG4gICAgICAgICAgICBjb25jYXQoZ2V0U3RhdGUoKS5wYXRoc1tjb21wb25lbnRJZF0sXHJcbiAgICAgICAgICAgIFsncHJvcHMnLCBjb21wb25lbnRQcm9wXVxyXG4gICAgICAgICkpO1xyXG4gICAgICAgIGNvbnN0IHByb3BWYWx1ZSA9IHZpZXcoXHJcbiAgICAgICAgICAgIHByb3BMZW5zLFxyXG4gICAgICAgICAgICBnZXRTdGF0ZSgpLmxheW91dFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGRpc3BhdGNoKG5vdGlmeU9ic2VydmVycyh7XHJcbiAgICAgICAgICAgIGlkOiBjb21wb25lbnRJZCxcclxuICAgICAgICAgICAgcHJvcHM6IHtbY29tcG9uZW50UHJvcF06IHByb3BWYWx1ZX0sXHJcbiAgICAgICAgICAgIGV4Y2x1ZGVkT3V0cHV0czogaW5wdXRPdXRwdXQuZXhjbHVkZWRPdXRwdXRzXHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgIH0pO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZG8oKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGRpc3BhdGNoLCBnZXRTdGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGhpc3RvcnkgPSBnZXRTdGF0ZSgpLmhpc3Rvcnk7XHJcbiAgICAgICAgZGlzcGF0Y2goY3JlYXRlQWN0aW9uKCdSRURPJykoKSk7XHJcbiAgICAgICAgY29uc3QgbmV4dCA9IGhpc3RvcnkuZnV0dXJlWzBdO1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgcHJvcHNcclxuICAgICAgICBkaXNwYXRjaChjcmVhdGVBY3Rpb24oJ1JFRE9fUFJPUF9DSEFOR0UnKSh7XHJcbiAgICAgICAgICAgIGl0ZW1wYXRoOiBnZXRTdGF0ZSgpLnBhdGhzW25leHQuaWRdLFxyXG4gICAgICAgICAgICBwcm9wczogbmV4dC5wcm9wc1xyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgLy8gTm90aWZ5IG9ic2VydmVyc1xyXG4gICAgICAgIGRpc3BhdGNoKG5vdGlmeU9ic2VydmVycyh7XHJcbiAgICAgICAgICAgIGlkOiBuZXh0LmlkLFxyXG4gICAgICAgICAgICBwcm9wczogbmV4dC5wcm9wc1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1bmRvKCkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkaXNwYXRjaCwgZ2V0U3RhdGUpIHtcclxuICAgICAgICBjb25zdCBoaXN0b3J5ID0gZ2V0U3RhdGUoKS5oaXN0b3J5O1xyXG4gICAgICAgIGRpc3BhdGNoKGNyZWF0ZUFjdGlvbignVU5ETycpKCkpO1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gaGlzdG9yeS5wYXN0W2hpc3RvcnkucGFzdC5sZW5ndGggLSAxXTtcclxuXHJcbiAgICAgICAgLy8gVXBkYXRlIHByb3BzXHJcbiAgICAgICAgZGlzcGF0Y2goY3JlYXRlQWN0aW9uKCdVTkRPX1BST1BfQ0hBTkdFJykoe1xyXG4gICAgICAgICAgICBpdGVtcGF0aDogZ2V0U3RhdGUoKS5wYXRoc1twcmV2aW91cy5pZF0sXHJcbiAgICAgICAgICAgIHByb3BzOiBwcmV2aW91cy5wcm9wc1xyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgLy8gTm90aWZ5IG9ic2VydmVyc1xyXG4gICAgICAgIGRpc3BhdGNoKG5vdGlmeU9ic2VydmVycyh7XHJcbiAgICAgICAgICAgIGlkOiBwcmV2aW91cy5pZCxcclxuICAgICAgICAgICAgcHJvcHM6IHByZXZpb3VzLnByb3BzXHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbmZ1bmN0aW9uIHJlZHVjZUlucHV0SWRzKG5vZGVJZHMsIElucHV0R3JhcGgpIHtcclxuICAgIC8qXHJcbiAgICAgKiBDcmVhdGUgaW5wdXQtb3V0cHV0KHMpIHBhaXJzLFxyXG4gICAgICogc29ydCBieSBudW1iZXIgb2Ygb3V0cHV0cyxcclxuICAgICAqIGFuZCByZW1vdmUgcmVkdWRhbnQgaW5wdXRzIChpbnB1dHMgdGhhdCB1cGRhdGUgdGhlIHNhbWUgb3V0cHV0KVxyXG4gICAgICovXHJcbiAgICBjb25zdCBpbnB1dE91dHB1dFBhaXJzID0gbm9kZUlkcy5tYXAobm9kZUlkID0+ICh7XHJcbiAgICAgICAgaW5wdXQ6IG5vZGVJZCxcclxuICAgICAgICAvLyBUT0RPIC0gRG9lcyB0aGlzIGluY2x1ZGUgZ3JhbmRjaGlsZHJlbj9cclxuICAgICAgICBvdXRwdXRzOiBJbnB1dEdyYXBoLmRlcGVuZGVuY2llc09mKG5vZGVJZCksXHJcbiAgICAgICAgZXhjbHVkZWRPdXRwdXRzOiBbXVxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0IHNvcnRlZElucHV0T3V0cHV0UGFpcnMgPSBzb3J0KFxyXG4gICAgICAgIChhLCBiKSA9PiBiLm91dHB1dHMubGVuZ3RoIC0gYS5vdXRwdXRzLmxlbmd0aCxcclxuICAgICAgICBpbnB1dE91dHB1dFBhaXJzXHJcbiAgICApO1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiBJbiBzb21lIGNhc2VzLCB3ZSBtYXkgaGF2ZSB1bmlxdWUgb3V0cHV0cyBidXQgaW5wdXRzIHRoYXQgY291bGRcclxuICAgICAqIHRyaWdnZXIgY29tcG9uZW50cyB0byB1cGRhdGUgbXVsdGlwbGUgdGltZXMuXHJcbiAgICAgKlxyXG4gICAgICogRm9yIGV4YW1wbGUsIFtBLCBCXSA9PiBDIGFuZCBbQSwgRF0gPT4gRVxyXG4gICAgICogVGhlIHVuaXF1ZSBpbnB1dHMgbWlnaHQgYmUgW0EsIEIsIERdIGJ1dCB0aGF0IGlzIHJlZHVkYW50LlxyXG4gICAgICogV2Ugb25seSBuZWVkIHRvIHVwZGF0ZSBCIGFuZCBEIG9yIGp1c3QgQS5cclxuICAgICAqXHJcbiAgICAgKiBJbiB0aGVzZSBjYXNlcywgd2UnbGwgc3VwcGx5IGFuIGFkZGl0aW9uYWwgbGlzdCBvZiBvdXRwdXRzXHJcbiAgICAgKiB0byBleGNsdWRlLlxyXG4gICAgICovXHJcbiAgICBzb3J0ZWRJbnB1dE91dHB1dFBhaXJzLmZvckVhY2goKHBhaXIsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBvdXRwdXRzVGhhdFdpbGxCZVVwZGF0ZWQgPSBmbGF0dGVuKHBsdWNrKFxyXG4gICAgICAgICAgICAnb3V0cHV0cycsIHNsaWNlKDAsIGksIHNvcnRlZElucHV0T3V0cHV0UGFpcnMpKSk7XHJcbiAgICAgICAgcGFpci5vdXRwdXRzLmZvckVhY2gob3V0cHV0ID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbnRhaW5zKG91dHB1dCwgb3V0cHV0c1RoYXRXaWxsQmVVcGRhdGVkKSkge1xyXG4gICAgICAgICAgICAgICAgcGFpci5leGNsdWRlZE91dHB1dHMucHVzaChvdXRwdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc29ydGVkSW5wdXRPdXRwdXRQYWlycztcclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm90aWZ5T2JzZXJ2ZXJzKHBheWxvYWQpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoZGlzcGF0Y2gsIGdldFN0YXRlKSB7XHJcbiAgICAgICAgY29uc3Qge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgICAgIHByb3BzLFxyXG4gICAgICAgICAgICBleGNsdWRlZE91dHB1dHNcclxuICAgICAgICB9ID0gcGF5bG9hZFxyXG5cclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICAgIGdyYXBocyxcclxuICAgICAgICAgICAgcmVxdWVzdFF1ZXVlLFxyXG4gICAgICAgIH0gPSBnZXRTdGF0ZSgpO1xyXG4gICAgICAgIGNvbnN0IHtFdmVudEdyYXBoLCBJbnB1dEdyYXBofSA9IGdyYXBocztcclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIEZpZ3VyZSBvdXQgYWxsIG9mIHRoZSBvdXRwdXQgaWQncyB0aGF0IGRlcGVuZCBvbiB0aGlzXHJcbiAgICAgICAgICogZXZlbnQgb3IgaW5wdXQuXHJcbiAgICAgICAgICogVGhpcyBpbmNsdWRlcyBpZCdzIHRoYXQgYXJlIGRpcmVjdCBjaGlsZHJlbiBhcyB3ZWxsIGFzXHJcbiAgICAgICAgICogZ3JhbmRjaGlsZHJlbi5cclxuICAgICAgICAgKiBncmFuZGNoaWxkcmVuIHdpbGwgZ2V0IGZpbHRlcmVkIG91dCBpbiBhIGxhdGVyIHN0YWdlLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGxldCBvdXRwdXRPYnNlcnZlcnM7XHJcbiAgICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIG91dHB1dE9ic2VydmVycyA9IEV2ZW50R3JhcGguZGVwZW5kZW5jaWVzT2YoYCR7aWR9LiR7ZXZlbnR9YCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgY2hhbmdlZFByb3BzID0ga2V5cyhwcm9wcyk7XHJcbiAgICAgICAgICAgIG91dHB1dE9ic2VydmVycyA9IFtdO1xyXG4gICAgICAgICAgICBjaGFuZ2VkUHJvcHMuZm9yRWFjaChwcm9wTmFtZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gYCR7aWR9LiR7cHJvcE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgaWYgKCFJbnB1dEdyYXBoLmhhc05vZGUobm9kZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBJbnB1dEdyYXBoLmRlcGVuZGVuY2llc09mKG5vZGUpLmZvckVhY2gob3V0cHV0SWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICogTXVsdGlwbGUgaW5wdXQgcHJvcGVydGllcyB0aGF0IHVwZGF0ZSB0aGUgc2FtZVxyXG4gICAgICAgICAgICAgICAgICAgICAqIG91dHB1dCBjYW4gY2hhbmdlIGF0IG9uY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgICogRm9yIGV4YW1wbGUsIGBuX2NsaWNrc2AgYW5kIGBuX2NsaWNrc19wcmV2aW91c2BcclxuICAgICAgICAgICAgICAgICAgICAgKiBvbiBhIGJ1dHRvbiBjb21wb25lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICogV2Ugb25seSBuZWVkIHRvIHVwZGF0ZSB0aGUgb3V0cHV0IG9uY2UgZm9yIHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAgKiB1cGRhdGUsIHNvIGtlZXAgb3V0cHV0T2JzZXJ2ZXJzIHVuaXF1ZS5cclxuICAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRhaW5zKG91dHB1dElkLCBvdXRwdXRPYnNlcnZlcnMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dE9ic2VydmVycy5wdXNoKG91dHB1dElkKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXhjbHVkZWRPdXRwdXRzKSB7XHJcbiAgICAgICAgICAgIG91dHB1dE9ic2VydmVycyA9IHJlamVjdChcclxuICAgICAgICAgICAgICAgIGZsaXAoY29udGFpbnMpKGV4Y2x1ZGVkT3V0cHV0cyksXHJcbiAgICAgICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpc0VtcHR5KG91dHB1dE9ic2VydmVycykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiBUaGVyZSBtYXkgYmUgc2V2ZXJhbCBjb21wb25lbnRzIHRoYXQgZGVwZW5kIG9uIHRoaXMgaW5wdXQuXHJcbiAgICAgICAgICogQW5kIHNvbWUgY29tcG9uZW50cyBtYXkgZGVwZW5kIG9uIG90aGVyIGNvbXBvbmVudHMgYmVmb3JlXHJcbiAgICAgICAgICogdXBkYXRpbmcuIEdldCB0aGlzIHVwZGF0ZSBvcmRlciBzdHJhaWdodGVuZWQgb3V0LlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGNvbnN0IGRlcE9yZGVyID0gSW5wdXRHcmFwaC5vdmVyYWxsT3JkZXIoKTtcclxuICAgICAgICBvdXRwdXRPYnNlcnZlcnMgPSBzb3J0KFxyXG4gICAgICAgICAgICAoYSwgYikgPT4gZGVwT3JkZXIuaW5kZXhPZihiKSAtIGRlcE9yZGVyLmluZGV4T2YoYSksXHJcbiAgICAgICAgICAgIG91dHB1dE9ic2VydmVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgcXVldWVkT2JzZXJ2ZXJzID0gW107XHJcbiAgICAgICAgb3V0cHV0T2JzZXJ2ZXJzLmZvckVhY2goZnVuY3Rpb24gZmlsdGVyT2JzZXJ2ZXJzKG91dHB1dElkQW5kUHJvcCkge1xyXG4gICAgICAgICAgICBjb25zdCBvdXRwdXRDb21wb25lbnRJZCA9IG91dHB1dElkQW5kUHJvcC5zcGxpdCgnLicpWzBdO1xyXG5cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogYmVmb3JlIHdlIG1ha2UgdGhlIFBPU1QgdG8gdXBkYXRlIHRoZSBvdXRwdXQsIGNoZWNrXHJcbiAgICAgICAgICAgICAqIHRoYXQgdGhlIG91dHB1dCBkb2Vzbid0IGRlcGVuZCBvbiBhbnkgb3RoZXIgaW5wdXRzIHRoYXRcclxuICAgICAgICAgICAgICogdGhhdCBkZXBlbmQgb24gdGhlIHNhbWUgY29udHJvbGxlci5cclxuICAgICAgICAgICAgICogaWYgdGhlIG91dHB1dCBoYXMgYW5vdGhlciBpbnB1dCB3aXRoIGEgc2hhcmVkIGNvbnRyb2xsZXIsXHJcbiAgICAgICAgICAgICAqIHRoZW4gZG9uJ3QgdXBkYXRlIHRoaXMgb3V0cHV0IHlldC5cclxuICAgICAgICAgICAgICogd2hlbiBlYWNoIGRlcGVuZGVuY3kgdXBkYXRlcywgaXQnbGwgZGlzcGF0Y2ggaXRzIG93blxyXG4gICAgICAgICAgICAgKiBgbm90aWZ5T2JzZXJ2ZXJzYCBhY3Rpb24gd2hpY2ggd2lsbCBhbGxvdyB0aGlzXHJcbiAgICAgICAgICAgICAqIGNvbXBvbmVudCB0byB1cGRhdGUuXHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqIGZvciBleGFtcGxlLCBpZiBBIHVwZGF0ZXMgQiBhbmQgQyAoQSAtPiBbQiwgQ10pIGFuZCBCIHVwZGF0ZXMgQ1xyXG4gICAgICAgICAgICAgKiAoQiAtPiBDKSwgdGhlbiB3aGVuIEEgdXBkYXRlcywgdGhpcyBsb2dpYyB3aWxsXHJcbiAgICAgICAgICAgICAqIHJlamVjdCBDIGZyb20gdGhlIHF1ZXVlIHNpbmNlIGl0IHdpbGwgZW5kIHVwIGdldHRpbmcgdXBkYXRlZFxyXG4gICAgICAgICAgICAgKiBieSBCLlxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBpbiB0aGlzIGNhc2UsIEIgd2lsbCBhbHJlYWR5IGJlIGluIHF1ZXVlZE9ic2VydmVycyBieSB0aGUgdGltZVxyXG4gICAgICAgICAgICAgKiB0aGlzIGxvb3AgaGl0cyBDIGJlY2F1c2Ugb2YgdGhlIG92ZXJhbGxPcmRlciBzb3J0aW5nIGxvZ2ljXHJcbiAgICAgICAgICAgICAqL1xyXG5cclxuXHJcbiAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICogaWYgdGhlIG91dHB1dCBqdXN0IGxpc3RlbnMgdG8gZXZlbnRzLCB0aGVuIGl0IHdvbid0IGJlIGluXHJcbiAgICAgICAgICAgICAgKiB0aGUgSW5wdXRHcmFwaFxyXG4gICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZXJzID0gKElucHV0R3JhcGguaGFzTm9kZShvdXRwdXRJZEFuZFByb3ApID9cclxuICAgICAgICAgICAgICAgIElucHV0R3JhcGguZGVwZW5kYW50c09mKG91dHB1dElkQW5kUHJvcCkgOiBbXSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVyc0luRnV0dXJlUXVldWUgPSBpbnRlcnNlY3Rpb24oXHJcbiAgICAgICAgICAgICAgICBxdWV1ZWRPYnNlcnZlcnMsXHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyc1xyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogY2hlY2sgdGhhdCB0aGUgb3V0cHV0IGhhc24ndCBiZWVuIHRyaWdnZXJlZCB0byB1cGRhdGUgYWxyZWFkeVxyXG4gICAgICAgICAgICAgKiBieSBhIGRpZmZlcmVudCBpbnB1dC5cclxuICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICogZm9yIGV4YW1wbGU6XHJcbiAgICAgICAgICAgICAqIEdyYW5kcGFyZW50IC0+IFtQYXJlbnQgQSwgUGFyZW50IEJdIC0+IENoaWxkXHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqIHdoZW4gR3JhbmRwYXJlbnQgY2hhbmdlcywgaXQgd2lsbCB0cmlnZ2VyIFBhcmVudCBBIGFuZCBQYXJlbnQgQlxyXG4gICAgICAgICAgICAgKiB0byBlYWNoIHVwZGF0ZSBDaGlsZC5cclxuICAgICAgICAgICAgICogb25lIG9mIHRoZSBjb21wb25lbnRzIChQYXJlbnQgQSBvciBQYXJlbnQgQikgd2lsbCBxdWV1ZSB1cFxyXG4gICAgICAgICAgICAgKiB0aGUgY2hhbmdlIGZvciBDaGlsZC4gaWYgdGhpcyB1cGRhdGUgaGFzIGFscmVhZHkgYmVlbiBxdWV1ZWQgdXAsXHJcbiAgICAgICAgICAgICAqIHRoZW4gc2tpcCB0aGUgdXBkYXRlIGZvciB0aGUgb3RoZXIgY29tcG9uZW50XHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVySXNJbkV4aXN0aW5nUXVldWUgPSBhbnkociA9PlxyXG4gICAgICAgICAgICAgICAgY29udGFpbnMoci5jb250cm9sbGVySWQsIGNvbnRyb2xsZXJzKSAmJiByLnN0YXR1cyA9PT0gJ2xvYWRpbmcnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFF1ZXVlXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBUT0RPIC0gUGxhY2UgdGhyb3R0bGluZyBsb2dpYyBoZXJlP1xyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBPbmx5IHByb2Nlc3MgdGhlIGxhc3QgdHdvIHJlcXVlc3RzIGZvciBhIF9zaW5nbGVfIG91dHB1dFxyXG4gICAgICAgICAgICAgKiBhdCBhIHRpbWUuXHJcbiAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBpZiBBIC0+IEIsIGFuZCBBIGlzIGNoYW5nZWQgMTAgdGltZXMsIHRoZW46XHJcbiAgICAgICAgICAgICAqIDEgLSBwcm9jZXNzaW5nIHRoZSBmaXJzdCB0d28gcmVxdWVzdHNcclxuICAgICAgICAgICAgICogMiAtIGlmIG1vcmUgdGhhbiAyIHJlcXVlc3RzIGNvbWUgaW4gd2hpbGUgdGhlIGZpcnN0IHR3b1xyXG4gICAgICAgICAgICAgKiAgICAgYXJlIGJlaW5nIHByb2Nlc3NlZCwgdGhlbiBza2lwIHVwZGF0aW5nIGFsbCBvZiB0aGVcclxuICAgICAgICAgICAgICogICAgIHJlcXVlc3RzIGV4Y2VwdCBmb3IgdGhlIGxhc3QgMlxyXG4gICAgICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAqIGFsc28gY2hlY2sgdGhhdCB0aGlzIG9ic2VydmVyIGlzIGFjdHVhbGx5IGluIHRoZSBjdXJyZW50XHJcbiAgICAgICAgICAgICAqIGNvbXBvbmVudCB0cmVlLlxyXG4gICAgICAgICAgICAgKiBvYnNlcnZlcnMgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBiZSByZW5kZXJlZCBhdCB0aGUgbW9tZW50XHJcbiAgICAgICAgICAgICAqIG9mIGEgY29udHJvbGxlciBjaGFuZ2UuXHJcbiAgICAgICAgICAgICAqIGZvciBleGFtcGxlLCBwZXJoYXBzIHRoZSB1c2VyIGhhcyBoaWRkZW4gb25lIG9mIHRoZSBvYnNlcnZlcnNcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgKGNvbnRyb2xsZXJzSW5GdXR1cmVRdWV1ZS5sZW5ndGggPT09IDApICYmXHJcbiAgICAgICAgICAgICAgICAgKGhhcyhvdXRwdXRDb21wb25lbnRJZCwgZ2V0U3RhdGUoKS5wYXRocykpICYmXHJcbiAgICAgICAgICAgICAgICAgIWNvbnRyb2xsZXJJc0luRXhpc3RpbmdRdWV1ZVxyXG4gICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgcXVldWVkT2JzZXJ2ZXJzLnB1c2gob3V0cHV0SWRBbmRQcm9wKVxyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIHJlY29yZCB0aGUgc2V0IG9mIG91dHB1dCBJRHMgdGhhdCB3aWxsIGV2ZW50dWFsbHkgbmVlZCB0byBiZVxyXG4gICAgICAgICAqIHVwZGF0ZWQgaW4gYSBxdWV1ZS4gbm90IGFsbCBvZiB0aGVzZSByZXF1ZXN0cyB3aWxsIGJlIGZpcmVkIGluIHRoaXNcclxuICAgICAgICAgKiBhY3Rpb25cclxuICAgICAgICAgKi9cclxuICAgICAgICBjb25zdCBuZXdSZXF1ZXN0UXVldWUgPSBxdWV1ZWRPYnNlcnZlcnMubWFwKFxyXG4gICAgICAgICAgICBpID0+ICh7XHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVySWQ6IGksXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdsb2FkaW5nJyxcclxuICAgICAgICAgICAgICAgIHVpZDogdWlkKCksXHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0VGltZTogRGF0ZS5ub3coKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgICBkaXNwYXRjaChzZXRSZXF1ZXN0UXVldWUoXHJcbiAgICAgICAgICAgIGNvbmNhdChcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RRdWV1ZSxcclxuICAgICAgICAgICAgICAgIG5ld1JlcXVlc3RRdWV1ZVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBxdWV1ZWRPYnNlcnZlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgb3V0cHV0SWRBbmRQcm9wID0gcXVldWVkT2JzZXJ2ZXJzW2ldO1xyXG4gICAgICAgICAgICBjb25zdCBbb3V0cHV0Q29tcG9uZW50SWQsIG91dHB1dFByb3BdID0gb3V0cHV0SWRBbmRQcm9wLnNwbGl0KCcuJyk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0VWlkID0gbmV3UmVxdWVzdFF1ZXVlW2ldLnVpZDtcclxuXHJcbiAgICAgICAgICAgIHByb21pc2VzLnB1c2godXBkYXRlT3V0cHV0KFxyXG4gICAgICAgICAgICAgICAgb3V0cHV0Q29tcG9uZW50SWQsXHJcbiAgICAgICAgICAgICAgICBvdXRwdXRQcm9wLFxyXG4gICAgICAgICAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgICAgICAgICBnZXRTdGF0ZSxcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RVaWQsXHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaFxyXG4gICAgICAgICAgICApKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gdXBkYXRlT3V0cHV0KFxyXG4gICAgb3V0cHV0Q29tcG9uZW50SWQsXHJcbiAgICBvdXRwdXRQcm9wLFxyXG4gICAgZXZlbnQsXHJcbiAgICBnZXRTdGF0ZSxcclxuICAgIHJlcXVlc3RVaWQsXHJcbiAgICBkaXNwYXRjaFxyXG4pIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgICBjb25maWcsXHJcbiAgICAgICAgbGF5b3V0LFxyXG4gICAgICAgIGdyYXBocyxcclxuICAgICAgICBwYXRocyxcclxuICAgICAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0XHJcbiAgICB9ID0gZ2V0U3RhdGUoKTtcclxuICAgIGNvbnN0IHtJbnB1dEdyYXBofSA9IGdyYXBocztcclxuXHJcbiAgICAvKlxyXG4gICAgICogQ29uc3RydWN0IGEgcGF5bG9hZCBvZiB0aGUgaW5wdXQsIHN0YXRlLCBhbmQgZXZlbnQuXHJcbiAgICAgKiBGb3IgZXhhbXBsZTpcclxuICAgICAqIElmIHRoZSBpbnB1dCB0cmlnZ2VyZWQgdGhpcyB1cGRhdGUsIHRoZW46XHJcbiAgICAgKiB7XHJcbiAgICAgKiAgICAgIGlucHV0czogW3snaWQnOiAnaW5wdXQxJywgJ3Byb3BlcnR5JzogJ25ldyB2YWx1ZSd9XSxcclxuICAgICAqICAgICAgc3RhdGU6IFt7J2lkJzogJ3N0YXRlMScsICdwcm9wZXJ0eSc6ICdleGlzdGluZyB2YWx1ZSd9XVxyXG4gICAgICogfVxyXG4gICAgICpcclxuICAgICAqIElmIGFuIGV2ZW50IHRyaWdnZXJlZCB0aGlzIHVkcGF0ZSwgdGhlbjpcclxuICAgICAqIHtcclxuICAgICAqICAgICAgc3RhdGU6IFt7J2lkJzogJ3N0YXRlMScsICdwcm9wZXJ0eSc6ICdleGlzdGluZyB2YWx1ZSd9XSxcclxuICAgICAqICAgICAgZXZlbnQ6IHsnaWQnOiAnZ3JhcGgnLCAnZXZlbnQnOiAnY2xpY2snfVxyXG4gICAgICogfVxyXG4gICAgICpcclxuICAgICAqL1xyXG4gICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgIG91dHB1dDoge2lkOiBvdXRwdXRDb21wb25lbnRJZCwgcHJvcGVydHk6IG91dHB1dFByb3B9XHJcbiAgICAgfTtcclxuXHJcbiAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgcGF5bG9hZC5ldmVudCA9IGV2ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHtpbnB1dHMsIHN0YXRlfSA9IGRlcGVuZGVuY2llc1JlcXVlc3QuY29udGVudC5maW5kKFxyXG4gICAgICAgIGRlcGVuZGVuY3kgPT4gKFxyXG4gICAgICAgICAgICBkZXBlbmRlbmN5Lm91dHB1dC5pZCA9PT0gb3V0cHV0Q29tcG9uZW50SWQgJiZcclxuICAgICAgICAgICAgZGVwZW5kZW5jeS5vdXRwdXQucHJvcGVydHkgPT09IG91dHB1dFByb3BcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgY29uc3QgdmFsaWRLZXlzID0ga2V5cyhwYXRocyk7XHJcbiAgICBpZiAoaW5wdXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBwYXlsb2FkLmlucHV0cyA9IGlucHV0cy5tYXAoaW5wdXRPYmplY3QgPT4ge1xyXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpZCBleGlzdHMgaW4gdGhlIGxheW91dFxyXG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5zKGlucHV0T2JqZWN0LmlkLCB2YWxpZEtleXMpKSB7XHJcbiAgICAgICAgICAgICAgdGhyb3cgUmVmZXJlbmNlRXJyb3IoXHJcbiAgICAgICAgICAgICAgICBcIkFuIGludmFsaWQgaW5wdXQgb2JqZWN0IHdhcyB1c2VkIGluIGFuIFwiICtcclxuICAgICAgICAgICAgICAgIFwiYElucHV0YCBvZiBhIERhc2ggY2FsbGJhY2suIFwiICtcclxuICAgICAgICAgICAgICAgIFwiVGhlIGlkIG9mIHRoaXMgb2JqZWN0IGlzIGBcIiArXHJcbiAgICAgICAgICAgICAgICBpbnB1dE9iamVjdC5pZCArIFwiYCBhbmQgdGhlIHByb3BlcnR5IGlzIGBcIiArXHJcbiAgICAgICAgICAgICAgICBpbnB1dE9iamVjdC5wcm9wZXJ0eSArXHJcbiAgICAgICAgICAgICAgICBcImAuIFRoZSBsaXN0IG9mIGlkcyBpbiB0aGUgY3VycmVudCBsYXlvdXQgaXMgXCIgK1xyXG4gICAgICAgICAgICAgICAgXCJgW1wiICsgdmFsaWRLZXlzLmpvaW4oXCIsIFwiKSArIFwiXWBcIlxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBwcm9wTGVucyA9IGxlbnNQYXRoKFxyXG4gICAgICAgICAgICAgICAgY29uY2F0KHBhdGhzW2lucHV0T2JqZWN0LmlkXSxcclxuICAgICAgICAgICAgICAgIFsncHJvcHMnLCBpbnB1dE9iamVjdC5wcm9wZXJ0eV1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpZDogaW5wdXRPYmplY3QuaWQsXHJcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogaW5wdXRPYmplY3QucHJvcGVydHksXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmlldyhwcm9wTGVucywgbGF5b3V0KVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0YXRlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBwYXlsb2FkLnN0YXRlID0gc3RhdGUubWFwKHN0YXRlT2JqZWN0ID0+IHtcclxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaWQgZXhpc3RzIGluIHRoZSBsYXlvdXRcclxuICAgICAgICAgICAgaWYgKCFjb250YWlucyhzdGF0ZU9iamVjdC5pZCwgdmFsaWRLZXlzKSkge1xyXG4gICAgICAgICAgICAgIHRocm93IFJlZmVyZW5jZUVycm9yKFxyXG4gICAgICAgICAgICAgICAgXCJBbiBpbnZhbGlkIGlucHV0IG9iamVjdCB3YXMgdXNlZCBpbiBhIFwiICtcclxuICAgICAgICAgICAgICAgIFwiYFN0YXRlYCBvYmplY3Qgb2YgYSBEYXNoIGNhbGxiYWNrLiBcIiArXHJcbiAgICAgICAgICAgICAgICBcIlRoZSBpZCBvZiB0aGlzIG9iamVjdCBpcyBgXCIgK1xyXG4gICAgICAgICAgICAgICAgc3RhdGVPYmplY3QuaWQgKyBcImAgYW5kIHRoZSBwcm9wZXJ0eSBpcyBgXCIgK1xyXG4gICAgICAgICAgICAgICAgc3RhdGVPYmplY3QucHJvcGVydHkgK1xyXG4gICAgICAgICAgICAgICAgXCJgLiBUaGUgbGlzdCBvZiBpZHMgaW4gdGhlIGN1cnJlbnQgbGF5b3V0IGlzIFwiICtcclxuICAgICAgICAgICAgICAgIFwiYFtcIiArIHZhbGlkS2V5cy5qb2luKFwiLCBcIikgKyBcIl1gXCJcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcHJvcExlbnMgPSBsZW5zUGF0aChcclxuICAgICAgICAgICAgICAgIGNvbmNhdChwYXRoc1tzdGF0ZU9iamVjdC5pZF0sXHJcbiAgICAgICAgICAgICAgICBbJ3Byb3BzJywgc3RhdGVPYmplY3QucHJvcGVydHldXHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IHN0YXRlT2JqZWN0LmlkLFxyXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6IHN0YXRlT2JqZWN0LnByb3BlcnR5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZpZXcocHJvcExlbnMsIGxheW91dClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmV0Y2goYCR7dXJsQmFzZShjb25maWcpfV9kYXNoLXVwZGF0ZS1jb21wb25lbnRgLCB7XHJcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAnWC1DU1JGVG9rZW4nOiBjb29raWUucGFyc2UoZG9jdW1lbnQuY29va2llKS5fY3NyZl90b2tlblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZClcclxuICAgIH0pLnRoZW4oZnVuY3Rpb24gaGFuZGxlUmVzcG9uc2UocmVzKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IGdldFRoaXNSZXF1ZXN0SW5kZXggPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvc3RSZXF1ZXN0UXVldWUgPSBnZXRTdGF0ZSgpLnJlcXVlc3RRdWV1ZTtcclxuICAgICAgICAgICAgY29uc3QgdGhpc1JlcXVlc3RJbmRleCA9IGZpbmRJbmRleChcclxuICAgICAgICAgICAgICAgIHByb3BFcSgndWlkJywgcmVxdWVzdFVpZCksXHJcbiAgICAgICAgICAgICAgICBwb3N0UmVxdWVzdFF1ZXVlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzUmVxdWVzdEluZGV4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXBkYXRlUmVxdWVzdFF1ZXVlID0gcmVqZWN0ZWQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwb3N0UmVxdWVzdFF1ZXVlID0gZ2V0U3RhdGUoKS5yZXF1ZXN0UXVldWVcclxuICAgICAgICAgICAgY29uc3QgdGhpc1JlcXVlc3RJbmRleCA9IGdldFRoaXNSZXF1ZXN0SW5kZXgoKTtcclxuICAgICAgICAgICAgaWYgKHRoaXNSZXF1ZXN0SW5kZXggPT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJdCB3YXMgYWxyZWFkeSBwcnVuZWQgYXdheVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRRdWV1ZSA9IGFkanVzdChcclxuICAgICAgICAgICAgICAgIG1lcmdlKF9fLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVGltZTogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgICAgICByZWplY3RlZFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICB0aGlzUmVxdWVzdEluZGV4LFxyXG4gICAgICAgICAgICAgICAgcG9zdFJlcXVlc3RRdWV1ZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHN0b3JlIGFueSByZXF1ZXN0cyBiZWZvcmUgdGhpcyBvbmVcclxuICAgICAgICAgICAgY29uc3QgdGhpc0NvbnRyb2xsZXJJZCA9IHBvc3RSZXF1ZXN0UXVldWVbXHJcbiAgICAgICAgICAgICAgICB0aGlzUmVxdWVzdEluZGV4XS5jb250cm9sbGVySWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHBydW5lZFF1ZXVlID0gdXBkYXRlZFF1ZXVlLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChxdWV1ZUl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVldWVJdGVtLmNvbnRyb2xsZXJJZCAhPT0gdGhpc0NvbnRyb2xsZXJJZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA+PSB0aGlzUmVxdWVzdEluZGV4XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIGRpc3BhdGNoKHNldFJlcXVlc3RRdWV1ZShwcnVuZWRRdWV1ZSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaXNSZWplY3RlZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbGF0ZXN0UmVxdWVzdEluZGV4ID0gZmluZExhc3RJbmRleChcclxuICAgICAgICAgICAgICAgIHByb3BFcSgnY29udHJvbGxlcklkJywgYCR7b3V0cHV0Q29tcG9uZW50SWR9LiR7b3V0cHV0UHJvcH1gKSwgLy8gbmV3UmVxdWVzdFF1ZXVlW2ldLmNvbnRyb2xsZXJJZCksXHJcbiAgICAgICAgICAgICAgICBnZXRTdGF0ZSgpLnJlcXVlc3RRdWV1ZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBOb3RlIHRoYXQgaWYgdGhlIGxhdGVzdCByZXF1ZXN0IGlzIHN0aWxsIGBsb2FkaW5nYFxyXG4gICAgICAgICAgICAgKiBvciBldmVuIGlmIHRoZSBsYXRlc3QgcmVxdWVzdCBmYWlsZWQsXHJcbiAgICAgICAgICAgICAqIHdlIHN0aWxsIHJlamVjdCB0aGlzIHJlc3BvbnNlIGluIGZhdm9yIG9mIHdhaXRpbmdcclxuICAgICAgICAgICAgICogZm9yIHRoZSBsYXRlc3QgcmVxdWVzdCB0byBmaW5pc2guXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBjb25zdCByZWplY3RlZCA9IGxhdGVzdFJlcXVlc3RJbmRleCA+IGdldFRoaXNSZXF1ZXN0SW5kZXgoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHN0YXR1cyBvZiB0aGlzIHJlcXVlc3RcclxuICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFF1ZXVlKHRydWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIENoZWNrIHRvIHNlZSBpZiBhbm90aGVyIHJlcXVlc3QgaGFzIGFscmVhZHkgY29tZSBiYWNrXHJcbiAgICAgICAgICogX2FmdGVyXyB0aGlzIG9uZS5cclxuICAgICAgICAgKiBJZiBzbywgaWdub3JlIHRoaXMgcmVxdWVzdC5cclxuICAgICAgICAgKi9cclxuICAgICAgICBpZiAoaXNSZWplY3RlZCgpKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RRdWV1ZSh0cnVlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlcy5qc29uKCkudGhlbihmdW5jdGlvbiBoYW5kbGVKc29uKGRhdGEpIHtcclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogRXZlbiBpZiB0aGUgYHJlc2Agd2FzIHJlY2VpdmVkIGluIHRoZSBjb3JyZWN0IG9yZGVyLFxyXG4gICAgICAgICAgICAgKiB0aGUgcmVtYWluZGVyIG9mIHRoZSByZXNwb25zZSAocmVzLmpzb24oKSkgY291bGQgaGFwcGVuXHJcbiAgICAgICAgICAgICAqIGF0IGRpZmZlcmVudCByYXRlcyBjYXVzaW5nIHRoZSBwYXJzZWQgcmVzcG9uc2VzIHRvXHJcbiAgICAgICAgICAgICAqIGdldCBvdXQgb2Ygb3JkZXJcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICBpZiAoaXNSZWplY3RlZCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFF1ZXVlKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RRdWV1ZShmYWxzZSk7XHJcblxyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBpdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBvdXRwdXQgaXRlbSBpcyBubyBsb25nZXIgdmlzaWJsZS5cclxuICAgICAgICAgICAgICogZm9yIGV4YW1wbGUsIHRoZSBjb3VsZCBzdGlsbCBiZSByZXF1ZXN0IHJ1bm5pbmcgd2hlblxyXG4gICAgICAgICAgICAgKiB0aGUgdXNlciBzd2l0Y2hlZCB0aGUgY2hhcHRlclxyXG4gICAgICAgICAgICAgKlxyXG4gICAgICAgICAgICAgKiBpZiBpdCdzIG5vdCB2aXNpYmxlLCB0aGVuIGlnbm9yZSB0aGUgcmVzdCBvZiB0aGUgdXBkYXRlc1xyXG4gICAgICAgICAgICAgKiB0byB0aGUgc3RvcmVcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGlmICghaGFzKG91dHB1dENvbXBvbmVudElkLCBnZXRTdGF0ZSgpLnBhdGhzKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBhbmQgdXBkYXRlIHRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50XHJcbiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyVXBkYXRlUGF5bG9hZCA9IHtcclxuICAgICAgICAgICAgICAgIGl0ZW1wYXRoOiBnZXRTdGF0ZSgpLnBhdGhzW291dHB1dENvbXBvbmVudElkXSxcclxuICAgICAgICAgICAgICAgIC8vIG5ldyBwcm9wIGZyb20gdGhlIHNlcnZlclxyXG4gICAgICAgICAgICAgICAgcHJvcHM6IGRhdGEucmVzcG9uc2UucHJvcHMsXHJcbiAgICAgICAgICAgICAgICBzb3VyY2U6ICdyZXNwb25zZSdcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgZGlzcGF0Y2godXBkYXRlUHJvcHMob2JzZXJ2ZXJVcGRhdGVQYXlsb2FkKSk7XHJcblxyXG4gICAgICAgICAgICBkaXNwYXRjaChub3RpZnlPYnNlcnZlcnMoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IG91dHB1dENvbXBvbmVudElkLFxyXG4gICAgICAgICAgICAgICAgcHJvcHM6IGRhdGEucmVzcG9uc2UucHJvcHNcclxuICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogSWYgdGhlIHJlc3BvbnNlIGluY2x1ZGVzIGNoaWxkcmVuLCB0aGVuIHdlIG5lZWQgdG8gdXBkYXRlIG91clxyXG4gICAgICAgICAgICAgKiBwYXRocyBzdG9yZS5cclxuICAgICAgICAgICAgICogVE9ETyAtIERvIHdlIG5lZWQgdG8gd2FpdCBmb3IgdXBkYXRlUHJvcHMgdG8gZmluaXNoP1xyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYgKGhhcygnY2hpbGRyZW4nLCBvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goY29tcHV0ZVBhdGhzKHtcclxuICAgICAgICAgICAgICAgICAgICBzdWJUcmVlOiBvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmdQYXRoOiBjb25jYXQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFN0YXRlKCkucGF0aHNbb3V0cHV0Q29tcG9uZW50SWRdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbJ3Byb3BzJywgJ2NoaWxkcmVuJ11cclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAqIGlmIGNoaWxkcmVuIGNvbnRhaW5zIG9iamVjdHMgd2l0aCBJRHMsIHRoZW4gd2VcclxuICAgICAgICAgICAgICAgICAqIG5lZWQgdG8gZGlzcGF0Y2ggYSBwcm9wQ2hhbmdlIGZvciBhbGwgb2YgdGhlc2VcclxuICAgICAgICAgICAgICAgICAqIG5ldyBjaGlsZHJlbiBjb21wb25lbnRzXHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIGlmIChjb250YWlucyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZShvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMuY2hpbGRyZW4pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbJ0FycmF5JywgJ09iamVjdCddXHJcbiAgICAgICAgICAgICAgICAgICAgKSAmJiAhaXNFbXB0eShvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMuY2hpbGRyZW4pXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAqIFRPRE86IFdlJ3JlIGp1c3QgbmFpdmVseSBjcmF3bGluZ1xyXG4gICAgICAgICAgICAgICAgICAgICAqIHRoZSBfZW50aXJlXyBsYXlvdXQgdG8gcmVjb21wdXRlIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAqIHRoZSBkZXBlbmRlbmN5IGdyYXBocy5cclxuICAgICAgICAgICAgICAgICAgICAgKiBXZSBkb24ndCBuZWVkIHRvIGRvIHRoaXMgLSBqdXN0IG5lZWRcclxuICAgICAgICAgICAgICAgICAgICAgKiB0byBjb21wdXRlIHRoZSBzdWJ0cmVlXHJcbiAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICBjcmF3bExheW91dChcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXJVcGRhdGVQYXlsb2FkLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBhcHBlbmRJZHMoY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNJZChjaGlsZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzKGNoaWxkLnByb3BzKS5mb3JFYWNoKGNoaWxkUHJvcCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudElkQW5kUHJvcCA9IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2NoaWxkLnByb3BzLmlkfS4ke2NoaWxkUHJvcH1gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXMoY29tcG9uZW50SWRBbmRQcm9wLCBJbnB1dEdyYXBoLm5vZGVzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UHJvcHNbY29tcG9uZW50SWRBbmRQcm9wXSA9ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGNoaWxkLnByb3BzLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGlsZFByb3BdOiBjaGlsZC5wcm9wc1tjaGlsZFByb3BdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgKiBPcmdhbml6ZSBwcm9wcyBieSBzaGFyZWQgb3V0cHV0cyBzbyB0aGF0IHdlXHJcbiAgICAgICAgICAgICAgICAgICAgICogb25seSBtYWtlIG9uZSByZXF1ZXN0IHBlciBvdXRwdXQgY29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICogKGV2ZW4gaWYgdGhlcmUgYXJlIG11bHRpcGxlIGlucHV0cykuXHJcbiAgICAgICAgICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICAgICAgICAgKiBGb3IgZXhhbXBsZSwgd2UgbWlnaHQgcmVuZGVyIDEwIGlucHV0cyB0aGF0IGNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAgKiBhIHNpbmdsZSBvdXRwdXQuIElmIHRoYXQgaXMgdGhlIGNhc2UsIHdlIG9ubHkgd2FudFxyXG4gICAgICAgICAgICAgICAgICAgICAqIHRvIG1ha2UgYSBzaW5nbGUgY2FsbCwgbm90IDEwIGNhbGxzLlxyXG4gICAgICAgICAgICAgICAgICAgICAqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAqIEluIHNvbWUgY2FzZXMsIHRoZSBuZXcgaXRlbSB3aWxsIGJlIGFuIG91dHB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAqIHdpdGggaXRzIGlucHV0cyBhbHJlYWR5IHJlbmRlcmVkIChub3QgcmVuZGVyZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICogYXMgcGFydCBvZiB0aGlzIHVwZGF0ZS5cclxuICAgICAgICAgICAgICAgICAgICAgKiBGb3IgZXhhbXBsZSwgYSB0YWIgd2l0aCBnbG9iYWwgY29udHJvbHMgdGhhdFxyXG4gICAgICAgICAgICAgICAgICAgICAqIHJlbmRlcnMgZGlmZmVyZW50IGNvbnRlbnQgY29udGFpbmVycyB3aXRob3V0IGFueVxyXG4gICAgICAgICAgICAgICAgICAgICAqIGFkZGl0aW9uYWwgaW5wdXRzLlxyXG4gICAgICAgICAgICAgICAgICAgICAqXHJcbiAgICAgICAgICAgICAgICAgICAgICogSW4gdGhhdCBjYXNlLCB3ZSdsbCBjYWxsIGB1cGRhdGVPdXRwdXRgIHdpdGggdGhhdCBvdXRwdXRcclxuICAgICAgICAgICAgICAgICAgICAgKiBhbmQganVzdCBcInByZXRlbmRcIiB0aGF0IG9uZSBpZiBpdHMgaW5wdXRzIGNoYW5nZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICpcclxuICAgICAgICAgICAgICAgICAgICAgKiBJZiB3ZSBldmVyIGFkZCBsb2dpYyB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb25cclxuICAgICAgICAgICAgICAgICAgICAgKiBcIndoaWNoIGlucHV0IGNoYW5nZWRcIiwgd2UnbGwgaGF2ZSB0byBhY2NvdW50IGZvciB0aGlzXHJcbiAgICAgICAgICAgICAgICAgICAgICogc3BlY2lhbCBjYXNlIChubyBpbnB1dCBjaGFuZ2VkPylcclxuICAgICAgICAgICAgICAgICAgICAgKi9cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dElkcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleXMobmV3UHJvcHMpLmZvckVhY2goaWRBbmRQcm9wID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBhbiBvdXRwdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0R3JhcGguZGVwZW5kZW5jaWVzT2YoaWRBbmRQcm9wKS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBBbmQgbm9uZSBvZiBpdHMgaW5wdXRzIGFyZSBnZW5lcmF0ZWQgaW4gdGhpc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcmVxdWVzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3Rpb24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRHcmFwaC5kZXBlbmRhbnRzT2YoaWRBbmRQcm9wKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzKG5ld1Byb3BzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5sZW5ndGggPT0gMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dElkcy5wdXNoKGlkQW5kUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3UHJvcHNbaWRBbmRQcm9wXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBEaXNwYXRjaCB1cGRhdGVzIHRvIGlucHV0c1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZHVjZWROb2RlSWRzID0gcmVkdWNlSW5wdXRJZHMoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXMobmV3UHJvcHMpLCBJbnB1dEdyYXBoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXBPcmRlciA9IElucHV0R3JhcGgub3ZlcmFsbE9yZGVyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29ydGVkTmV3UHJvcHMgPSBzb3J0KChhLCBiKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBPcmRlci5pbmRleE9mKGEuaW5wdXQpIC0gZGVwT3JkZXIuaW5kZXhPZihiLmlucHV0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVkdWNlZE5vZGVJZHNcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIHNvcnRlZE5ld1Byb3BzLmZvckVhY2goZnVuY3Rpb24oaW5wdXRPdXRwdXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IG5ld1Byb3BzW2lucHV0T3V0cHV0LmlucHV0XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5leGNsdWRlZE91dHB1dHMgPSBpbnB1dE91dHB1dC5leGNsdWRlZE91dHB1dHM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKG5vdGlmeU9ic2VydmVycyhwYXlsb2FkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIERpc3BhdGNoIHVwZGF0ZXMgdG8gbG9uZSBvdXRwdXRzXHJcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0SWRzLmZvckVhY2goaWRBbmRQcm9wID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdFVpZCA9IHVpZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChzZXRSZXF1ZXN0UXVldWUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gLSBBcmUgdGhlcmUgYW55IGltcGxpY2F0aW9ucyBvZiBkb2luZyB0aGlzPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVySWQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlkOiByZXF1ZXN0VWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RUaW1lOiBEYXRlLm5vdygpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBnZXRTdGF0ZSgpLnJlcXVlc3RRdWV1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZU91dHB1dChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkQW5kUHJvcC5zcGxpdCgnLicpWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRBbmRQcm9wLnNwbGl0KCcuJylbMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U3RhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKHN0YXRlKSB7XHJcbiAgICAvLyBSZWNvcmQgbWluaW1hbCBpbnB1dCBzdGF0ZSBpbiB0aGUgdXJsXHJcbiAgICBjb25zdCB7Z3JhcGhzLCBwYXRocywgbGF5b3V0fSA9IHN0YXRlO1xyXG4gICAgY29uc3Qge0lucHV0R3JhcGh9ID0gZ3JhcGhzO1xyXG4gICAgY29uc3QgYWxsTm9kZXMgPSBJbnB1dEdyYXBoLm5vZGVzO1xyXG4gICAgY29uc3Qgc2F2ZWRTdGF0ZSA9IHt9O1xyXG4gICAga2V5cyhhbGxOb2RlcykuZm9yRWFjaChub2RlSWQgPT4ge1xyXG4gICAgICAgIGNvbnN0IFtjb21wb25lbnRJZCwgY29tcG9uZW50UHJvcF0gPSBub2RlSWQuc3BsaXQoJy4nKTtcclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIEZpbHRlciBvdXQgdGhlIG91dHB1dHMsXHJcbiAgICAgICAgICogYW5kIHRoZSBpbnZpc2libGUgaW5wdXRzXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaWYgKElucHV0R3JhcGguZGVwZW5kZW5jaWVzT2Yobm9kZUlkKS5sZW5ndGggPiAwICYmXHJcbiAgICAgICAgICAgIGhhcyhjb21wb25lbnRJZCwgcGF0aHMpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIC8vIEdldCB0aGUgcHJvcGVydHlcclxuICAgICAgICAgICAgY29uc3QgcHJvcExlbnMgPSBsZW5zUGF0aChcclxuICAgICAgICAgICAgICAgIGNvbmNhdChwYXRoc1tjb21wb25lbnRJZF0sXHJcbiAgICAgICAgICAgICAgICBbJ3Byb3BzJywgY29tcG9uZW50UHJvcF1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BWYWx1ZSA9IHZpZXcoXHJcbiAgICAgICAgICAgICAgICBwcm9wTGVucyxcclxuICAgICAgICAgICAgICAgIGxheW91dFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBzYXZlZFN0YXRlW25vZGVJZF0gPSBwcm9wVmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHNhdmVkU3RhdGU7XHJcblxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/actions/index.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.readConfig = exports.setAppLifecycle = exports.setLayout = exports.computePaths = exports.computeGraphs = exports.setRequestQueue = exports.updateProps = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /* global fetch:true, Promise:true, document:true */\n\n\nexports.hydrateInitialOutputs = hydrateInitialOutputs;\nexports.redo = redo;\nexports.undo = undo;\nexports.notifyObservers = notifyObservers;\nexports.serialize = serialize;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _reduxActions = __webpack_require__(/*! redux-actions */ \"./node_modules/redux-actions/lib/index.js\");\n\nvar _utils = __webpack_require__(/*! ../reducers/utils */ \"./src/reducers/utils.js\");\n\nvar _constants = __webpack_require__(/*! ../reducers/constants */ \"./src/reducers/constants.js\");\n\nvar _constants2 = __webpack_require__(/*! ./constants */ \"./src/actions/constants.js\");\n\nvar _cookie = __webpack_require__(/*! cookie */ \"./node_modules/cookie/index.js\");\n\nvar _cookie2 = _interopRequireDefault(_cookie);\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\nvar _constants3 = __webpack_require__(/*! ../constants/constants */ \"./src/constants/constants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar updateProps = exports.updateProps = (0, _reduxActions.createAction)((0, _constants2.getAction)('ON_PROP_CHANGE'));\nvar setRequestQueue = exports.setRequestQueue = (0, _reduxActions.createAction)((0, _constants2.getAction)('SET_REQUEST_QUEUE'));\nvar computeGraphs = exports.computeGraphs = (0, _reduxActions.createAction)((0, _constants2.getAction)('COMPUTE_GRAPHS'));\nvar computePaths = exports.computePaths = (0, _reduxActions.createAction)((0, _constants2.getAction)('COMPUTE_PATHS'));\nvar setLayout = exports.setLayout = (0, _reduxActions.createAction)((0, _constants2.getAction)('SET_LAYOUT'));\nvar setAppLifecycle = exports.setAppLifecycle = (0, _reduxActions.createAction)((0, _constants2.getAction)('SET_APP_LIFECYCLE'));\nvar readConfig = exports.readConfig = (0, _reduxActions.createAction)((0, _constants2.getAction)('READ_CONFIG'));\n\nfunction hydrateInitialOutputs() {\n return function (dispatch, getState) {\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle((0, _constants.getAppState)('HYDRATED')));\n };\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n var _getState = getState(),\n graphs = _getState.graphs;\n\n var InputGraph = graphs.InputGraph;\n\n var allNodes = InputGraph.overallOrder();\n var inputNodeIds = [];\n allNodes.reverse();\n allNodes.forEach(function (nodeId) {\n var componentId = nodeId.split('.')[0];\n /*\n * Filter out the outputs,\n * inputs that aren't leaves,\n * and the invisible inputs\n */\n if (InputGraph.dependenciesOf(nodeId).length > 0 && InputGraph.dependantsOf(nodeId).length === 0 && (0, _ramda.has)(componentId, getState().paths)) {\n inputNodeIds.push(nodeId);\n }\n });\n\n reduceInputIds(inputNodeIds, InputGraph).forEach(function (inputOutput) {\n var _inputOutput$input$sp = inputOutput.input.split('.'),\n _inputOutput$input$sp2 = _slicedToArray(_inputOutput$input$sp, 2),\n componentId = _inputOutput$input$sp2[0],\n componentProp = _inputOutput$input$sp2[1];\n // Get the initial property\n\n\n var propLens = (0, _ramda.lensPath)((0, _ramda.concat)(getState().paths[componentId], ['props', componentProp]));\n var propValue = (0, _ramda.view)(propLens, getState().layout);\n\n dispatch(notifyObservers({\n id: componentId,\n props: _defineProperty({}, componentProp, propValue),\n excludedOutputs: inputOutput.excludedOutputs\n }));\n });\n}\n\nfunction redo() {\n return function (dispatch, getState) {\n var history = getState().history;\n dispatch((0, _reduxActions.createAction)('REDO')());\n var next = history.future[0];\n\n // Update props\n dispatch((0, _reduxActions.createAction)('REDO_PROP_CHANGE')({\n itempath: getState().paths[next.id],\n props: next.props\n }));\n\n // Notify observers\n dispatch(notifyObservers({\n id: next.id,\n props: next.props\n }));\n };\n}\n\nfunction undo() {\n return function (dispatch, getState) {\n var history = getState().history;\n dispatch((0, _reduxActions.createAction)('UNDO')());\n var previous = history.past[history.past.length - 1];\n\n // Update props\n dispatch((0, _reduxActions.createAction)('UNDO_PROP_CHANGE')({\n itempath: getState().paths[previous.id],\n props: previous.props\n }));\n\n // Notify observers\n dispatch(notifyObservers({\n id: previous.id,\n props: previous.props\n }));\n };\n}\n\nfunction reduceInputIds(nodeIds, InputGraph) {\n /*\n * Create input-output(s) pairs,\n * sort by number of outputs,\n * and remove redudant inputs (inputs that update the same output)\n */\n var inputOutputPairs = nodeIds.map(function (nodeId) {\n return {\n input: nodeId,\n // TODO - Does this include grandchildren?\n outputs: InputGraph.dependenciesOf(nodeId),\n excludedOutputs: []\n };\n });\n\n var sortedInputOutputPairs = (0, _ramda.sort)(function (a, b) {\n return b.outputs.length - a.outputs.length;\n }, inputOutputPairs);\n\n /*\n * In some cases, we may have unique outputs but inputs that could\n * trigger components to update multiple times.\n *\n * For example, [A, B] => C and [A, D] => E\n * The unique inputs might be [A, B, D] but that is redudant.\n * We only need to update B and D or just A.\n *\n * In these cases, we'll supply an additional list of outputs\n * to exclude.\n */\n sortedInputOutputPairs.forEach(function (pair, i) {\n var outputsThatWillBeUpdated = (0, _ramda.flatten)((0, _ramda.pluck)('outputs', (0, _ramda.slice)(0, i, sortedInputOutputPairs)));\n pair.outputs.forEach(function (output) {\n if ((0, _ramda.contains)(output, outputsThatWillBeUpdated)) {\n pair.excludedOutputs.push(output);\n }\n });\n });\n\n return sortedInputOutputPairs;\n}\n\nfunction notifyObservers(payload) {\n return function (dispatch, getState) {\n var id = payload.id,\n event = payload.event,\n props = payload.props,\n excludedOutputs = payload.excludedOutputs;\n\n var _getState2 = getState(),\n graphs = _getState2.graphs,\n requestQueue = _getState2.requestQueue;\n\n var EventGraph = graphs.EventGraph,\n InputGraph = graphs.InputGraph;\n /*\n * Figure out all of the output id's that depend on this\n * event or input.\n * This includes id's that are direct children as well as\n * grandchildren.\n * grandchildren will get filtered out in a later stage.\n */\n\n var outputObservers = void 0;\n if (event) {\n outputObservers = EventGraph.dependenciesOf(id + '.' + event);\n } else {\n var changedProps = (0, _ramda.keys)(props);\n outputObservers = [];\n changedProps.forEach(function (propName) {\n var node = id + '.' + propName;\n if (!InputGraph.hasNode(node)) {\n return;\n }\n InputGraph.dependenciesOf(node).forEach(function (outputId) {\n /*\n * Multiple input properties that update the same\n * output can change at once.\n * For example, `n_clicks` and `n_clicks_previous`\n * on a button component.\n * We only need to update the output once for this\n * update, so keep outputObservers unique.\n */\n if (!(0, _ramda.contains)(outputId, outputObservers)) {\n outputObservers.push(outputId);\n }\n });\n });\n }\n\n if (excludedOutputs) {\n outputObservers = (0, _ramda.reject)((0, _ramda.flip)(_ramda.contains)(excludedOutputs), outputObservers);\n }\n\n if ((0, _ramda.isEmpty)(outputObservers)) {\n return;\n }\n\n /*\n * There may be several components that depend on this input.\n * And some components may depend on other components before\n * updating. Get this update order straightened out.\n */\n var depOrder = InputGraph.overallOrder();\n outputObservers = (0, _ramda.sort)(function (a, b) {\n return depOrder.indexOf(b) - depOrder.indexOf(a);\n }, outputObservers);\n var queuedObservers = [];\n outputObservers.forEach(function filterObservers(outputIdAndProp) {\n var outputComponentId = outputIdAndProp.split('.')[0];\n\n /*\n * before we make the POST to update the output, check\n * that the output doesn't depend on any other inputs that\n * that depend on the same controller.\n * if the output has another input with a shared controller,\n * then don't update this output yet.\n * when each dependency updates, it'll dispatch its own\n * `notifyObservers` action which will allow this\n * component to update.\n *\n * for example, if A updates B and C (A -> [B, C]) and B updates C\n * (B -> C), then when A updates, this logic will\n * reject C from the queue since it will end up getting updated\n * by B.\n *\n * in this case, B will already be in queuedObservers by the time\n * this loop hits C because of the overallOrder sorting logic\n */\n\n /*\n * if the output just listens to events, then it won't be in\n * the InputGraph\n */\n var controllers = InputGraph.hasNode(outputIdAndProp) ? InputGraph.dependantsOf(outputIdAndProp) : [];\n\n var controllersInFutureQueue = (0, _ramda.intersection)(queuedObservers, controllers);\n\n /*\n * check that the output hasn't been triggered to update already\n * by a different input.\n *\n * for example:\n * Grandparent -> [Parent A, Parent B] -> Child\n *\n * when Grandparent changes, it will trigger Parent A and Parent B\n * to each update Child.\n * one of the components (Parent A or Parent B) will queue up\n * the change for Child. if this update has already been queued up,\n * then skip the update for the other component\n */\n var controllerIsInExistingQueue = (0, _ramda.any)(function (r) {\n return (0, _ramda.contains)(r.controllerId, controllers) && r.status === 'loading';\n }, requestQueue);\n\n /*\n * TODO - Place throttling logic here?\n *\n * Only process the last two requests for a _single_ output\n * at a time.\n *\n * For example, if A -> B, and A is changed 10 times, then:\n * 1 - processing the first two requests\n * 2 - if more than 2 requests come in while the first two\n * are being processed, then skip updating all of the\n * requests except for the last 2\n */\n\n /*\n * also check that this observer is actually in the current\n * component tree.\n * observers don't actually need to be rendered at the moment\n * of a controller change.\n * for example, perhaps the user has hidden one of the observers\n */\n if (controllersInFutureQueue.length === 0 && (0, _ramda.has)(outputComponentId, getState().paths) && !controllerIsInExistingQueue) {\n queuedObservers.push(outputIdAndProp);\n }\n });\n\n /*\n * record the set of output IDs that will eventually need to be\n * updated in a queue. not all of these requests will be fired in this\n * action\n */\n var newRequestQueue = queuedObservers.map(function (i) {\n return {\n controllerId: i,\n status: 'loading',\n uid: (0, _utils2.uid)(),\n requestTime: Date.now()\n };\n });\n dispatch(setRequestQueue((0, _ramda.concat)(requestQueue, newRequestQueue)));\n\n var promises = [];\n for (var i = 0; i < queuedObservers.length; i++) {\n var outputIdAndProp = queuedObservers[i];\n\n var _outputIdAndProp$spli = outputIdAndProp.split('.'),\n _outputIdAndProp$spli2 = _slicedToArray(_outputIdAndProp$spli, 2),\n outputComponentId = _outputIdAndProp$spli2[0],\n outputProp = _outputIdAndProp$spli2[1];\n\n var requestUid = newRequestQueue[i].uid;\n\n promises.push(updateOutput(outputComponentId, outputProp, event, getState, requestUid, dispatch));\n }\n\n /* eslint-disable consistent-return */\n return Promise.all(promises);\n /* eslint-enableconsistent-return */\n };\n}\n\nfunction updateOutput(outputComponentId, outputProp, event, getState, requestUid, dispatch) {\n var _getState3 = getState(),\n config = _getState3.config,\n layout = _getState3.layout,\n graphs = _getState3.graphs,\n paths = _getState3.paths,\n dependenciesRequest = _getState3.dependenciesRequest;\n\n var InputGraph = graphs.InputGraph;\n\n /*\n * Construct a payload of the input, state, and event.\n * For example:\n * If the input triggered this update, then:\n * {\n * inputs: [{'id': 'input1', 'property': 'new value'}],\n * state: [{'id': 'state1', 'property': 'existing value'}]\n * }\n *\n * If an event triggered this udpate, then:\n * {\n * state: [{'id': 'state1', 'property': 'existing value'}],\n * event: {'id': 'graph', 'event': 'click'}\n * }\n *\n */\n\n var payload = {\n output: { id: outputComponentId, property: outputProp }\n };\n\n if (event) {\n payload.event = event;\n }\n\n var _dependenciesRequest$ = dependenciesRequest.content.find(function (dependency) {\n return dependency.output.id === outputComponentId && dependency.output.property === outputProp;\n }),\n inputs = _dependenciesRequest$.inputs,\n state = _dependenciesRequest$.state;\n\n var validKeys = (0, _ramda.keys)(paths);\n if (inputs.length > 0) {\n payload.inputs = inputs.map(function (inputObject) {\n // Make sure the component id exists in the layout\n if (!(0, _ramda.contains)(inputObject.id, validKeys)) {\n throw new ReferenceError('An invalid input object was used in an ' + '`Input` of a Dash callback. ' + 'The id of this object is `' + inputObject.id + '` and the property is `' + inputObject.property + '`. The list of ids in the current layout is ' + '`[' + validKeys.join(', ') + ']`');\n }\n var propLens = (0, _ramda.lensPath)((0, _ramda.concat)(paths[inputObject.id], ['props', inputObject.property]));\n return {\n id: inputObject.id,\n property: inputObject.property,\n value: (0, _ramda.view)(propLens, layout)\n };\n });\n }\n if (state.length > 0) {\n payload.state = state.map(function (stateObject) {\n // Make sure the component id exists in the layout\n if (!(0, _ramda.contains)(stateObject.id, validKeys)) {\n throw new ReferenceError('An invalid input object was used in a ' + '`State` object of a Dash callback. ' + 'The id of this object is `' + stateObject.id + '` and the property is `' + stateObject.property + '`. The list of ids in the current layout is ' + '`[' + validKeys.join(', ') + ']`');\n }\n var propLens = (0, _ramda.lensPath)((0, _ramda.concat)(paths[stateObject.id], ['props', stateObject.property]));\n return {\n id: stateObject.id,\n property: stateObject.property,\n value: (0, _ramda.view)(propLens, layout)\n };\n });\n }\n\n return fetch((0, _utils2.urlBase)(config) + '_dash-update-component', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRFToken': _cookie2.default.parse(document.cookie)._csrf_token\n },\n credentials: 'same-origin',\n body: JSON.stringify(payload)\n }).then(function handleResponse(res) {\n var getThisRequestIndex = function getThisRequestIndex() {\n var postRequestQueue = getState().requestQueue;\n var thisRequestIndex = (0, _ramda.findIndex)((0, _ramda.propEq)('uid', requestUid), postRequestQueue);\n return thisRequestIndex;\n };\n\n var updateRequestQueue = function updateRequestQueue(rejected) {\n var postRequestQueue = getState().requestQueue;\n var thisRequestIndex = getThisRequestIndex();\n if (thisRequestIndex === -1) {\n // It was already pruned away\n return;\n }\n var updatedQueue = (0, _ramda.adjust)((0, _ramda.merge)(_ramda.__, {\n status: res.status,\n responseTime: Date.now(),\n rejected: rejected\n }), thisRequestIndex, postRequestQueue);\n // We don't need to store any requests before this one\n var thisControllerId = postRequestQueue[thisRequestIndex].controllerId;\n var prunedQueue = updatedQueue.filter(function (queueItem, index) {\n return queueItem.controllerId !== thisControllerId || index >= thisRequestIndex;\n });\n\n dispatch(setRequestQueue(prunedQueue));\n };\n\n var isRejected = function isRejected() {\n var latestRequestIndex = (0, _ramda.findLastIndex)(\n // newRequestQueue[i].controllerId),\n (0, _ramda.propEq)('controllerId', outputComponentId + '.' + outputProp), getState().requestQueue);\n /*\n * Note that if the latest request is still `loading`\n * or even if the latest request failed,\n * we still reject this response in favor of waiting\n * for the latest request to finish.\n */\n var rejected = latestRequestIndex > getThisRequestIndex();\n return rejected;\n };\n\n if (res.status !== _constants3.STATUS.OK) {\n // update the status of this request\n updateRequestQueue(true);\n return;\n }\n\n /*\n * Check to see if another request has already come back\n * _after_ this one.\n * If so, ignore this request.\n */\n if (isRejected()) {\n updateRequestQueue(true);\n return;\n }\n\n res.json().then(function handleJson(data) {\n /*\n * Even if the `res` was received in the correct order,\n * the remainder of the response (res.json()) could happen\n * at different rates causing the parsed responses to\n * get out of order\n */\n if (isRejected()) {\n updateRequestQueue(true);\n return;\n }\n\n updateRequestQueue(false);\n\n /*\n * it's possible that this output item is no longer visible.\n * for example, the could still be request running when\n * the user switched the chapter\n *\n * if it's not visible, then ignore the rest of the updates\n * to the store\n */\n if (!(0, _ramda.has)(outputComponentId, getState().paths)) {\n return;\n }\n\n // and update the props of the component\n var observerUpdatePayload = {\n itempath: getState().paths[outputComponentId],\n // new prop from the server\n props: data.response.props,\n source: 'response'\n };\n dispatch(updateProps(observerUpdatePayload));\n\n dispatch(notifyObservers({\n id: outputComponentId,\n props: data.response.props\n }));\n\n /*\n * If the response includes children, then we need to update our\n * paths store.\n * TODO - Do we need to wait for updateProps to finish?\n */\n if ((0, _ramda.has)('children', observerUpdatePayload.props)) {\n dispatch(computePaths({\n subTree: observerUpdatePayload.props.children,\n startingPath: (0, _ramda.concat)(getState().paths[outputComponentId], ['props', 'children'])\n }));\n\n /*\n * if children contains objects with IDs, then we\n * need to dispatch a propChange for all of these\n * new children components\n */\n if ((0, _ramda.contains)((0, _ramda.type)(observerUpdatePayload.props.children), ['Array', 'Object']) && !(0, _ramda.isEmpty)(observerUpdatePayload.props.children)) {\n /*\n * TODO: We're just naively crawling\n * the _entire_ layout to recompute the\n * the dependency graphs.\n * We don't need to do this - just need\n * to compute the subtree\n */\n var newProps = {};\n (0, _utils.crawlLayout)(observerUpdatePayload.props.children, function appendIds(child) {\n if ((0, _utils.hasId)(child)) {\n (0, _ramda.keys)(child.props).forEach(function (childProp) {\n var componentIdAndProp = child.props.id + '.' + childProp;\n if ((0, _ramda.has)(componentIdAndProp, InputGraph.nodes)) {\n newProps[componentIdAndProp] = {\n id: child.props.id,\n props: _defineProperty({}, childProp, child.props[childProp])\n };\n }\n });\n }\n });\n\n /*\n * Organize props by shared outputs so that we\n * only make one request per output component\n * (even if there are multiple inputs).\n *\n * For example, we might render 10 inputs that control\n * a single output. If that is the case, we only want\n * to make a single call, not 10 calls.\n */\n\n /*\n * In some cases, the new item will be an output\n * with its inputs already rendered (not rendered)\n * as part of this update.\n * For example, a tab with global controls that\n * renders different content containers without any\n * additional inputs.\n *\n * In that case, we'll call `updateOutput` with that output\n * and just \"pretend\" that one if its inputs changed.\n *\n * If we ever add logic that informs the user on\n * \"which input changed\", we'll have to account for this\n * special case (no input changed?)\n */\n\n var outputIds = [];\n (0, _ramda.keys)(newProps).forEach(function (idAndProp) {\n if (\n // It's an output\n InputGraph.dependenciesOf(idAndProp).length === 0 &&\n /*\n * And none of its inputs are generated in this\n * request\n */\n (0, _ramda.intersection)(InputGraph.dependantsOf(idAndProp), (0, _ramda.keys)(newProps)).length === 0) {\n outputIds.push(idAndProp);\n delete newProps[idAndProp];\n }\n });\n\n // Dispatch updates to inputs\n var reducedNodeIds = reduceInputIds((0, _ramda.keys)(newProps), InputGraph);\n var depOrder = InputGraph.overallOrder();\n var sortedNewProps = (0, _ramda.sort)(function (a, b) {\n return depOrder.indexOf(a.input) - depOrder.indexOf(b.input);\n }, reducedNodeIds);\n sortedNewProps.forEach(function (inputOutput) {\n var payload = newProps[inputOutput.input];\n payload.excludedOutputs = inputOutput.excludedOutputs;\n dispatch(notifyObservers(payload));\n });\n\n // Dispatch updates to lone outputs\n outputIds.forEach(function (idAndProp) {\n var requestUid = (0, _utils2.uid)();\n dispatch(setRequestQueue((0, _ramda.append)({\n // TODO - Are there any implications of doing this??\n controllerId: null,\n status: 'loading',\n uid: requestUid,\n requestTime: Date.now()\n }, getState().requestQueue)));\n updateOutput(idAndProp.split('.')[0], idAndProp.split('.')[1], null, getState, requestUid, dispatch);\n });\n }\n }\n });\n });\n}\n\nfunction serialize(state) {\n // Record minimal input state in the url\n var graphs = state.graphs,\n paths = state.paths,\n layout = state.layout;\n var InputGraph = graphs.InputGraph;\n\n var allNodes = InputGraph.nodes;\n var savedState = {};\n (0, _ramda.keys)(allNodes).forEach(function (nodeId) {\n var _nodeId$split = nodeId.split('.'),\n _nodeId$split2 = _slicedToArray(_nodeId$split, 2),\n componentId = _nodeId$split2[0],\n componentProp = _nodeId$split2[1];\n /*\n * Filter out the outputs,\n * and the invisible inputs\n */\n\n\n if (InputGraph.dependenciesOf(nodeId).length > 0 && (0, _ramda.has)(componentId, paths)) {\n // Get the property\n var propLens = (0, _ramda.lensPath)((0, _ramda.concat)(paths[componentId], ['props', componentProp]));\n var propValue = (0, _ramda.view)(propLens, layout);\n savedState[nodeId] = propValue;\n }\n });\n\n return savedState;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2FjdGlvbnMvaW5kZXguanM/ZjQwYiJdLCJuYW1lcyI6WyJoeWRyYXRlSW5pdGlhbE91dHB1dHMiLCJyZWRvIiwidW5kbyIsIm5vdGlmeU9ic2VydmVycyIsInNlcmlhbGl6ZSIsInVwZGF0ZVByb3BzIiwic2V0UmVxdWVzdFF1ZXVlIiwiY29tcHV0ZUdyYXBocyIsImNvbXB1dGVQYXRocyIsInNldExheW91dCIsInNldEFwcExpZmVjeWNsZSIsInJlYWRDb25maWciLCJkaXNwYXRjaCIsImdldFN0YXRlIiwidHJpZ2dlckRlZmF1bHRTdGF0ZSIsImdyYXBocyIsIklucHV0R3JhcGgiLCJhbGxOb2RlcyIsIm92ZXJhbGxPcmRlciIsImlucHV0Tm9kZUlkcyIsInJldmVyc2UiLCJmb3JFYWNoIiwiY29tcG9uZW50SWQiLCJub2RlSWQiLCJzcGxpdCIsImRlcGVuZGVuY2llc09mIiwibGVuZ3RoIiwiZGVwZW5kYW50c09mIiwicGF0aHMiLCJwdXNoIiwicmVkdWNlSW5wdXRJZHMiLCJpbnB1dE91dHB1dCIsImlucHV0IiwiY29tcG9uZW50UHJvcCIsInByb3BMZW5zIiwicHJvcFZhbHVlIiwibGF5b3V0IiwiaWQiLCJwcm9wcyIsImV4Y2x1ZGVkT3V0cHV0cyIsImhpc3RvcnkiLCJuZXh0IiwiZnV0dXJlIiwiaXRlbXBhdGgiLCJwcmV2aW91cyIsInBhc3QiLCJub2RlSWRzIiwiaW5wdXRPdXRwdXRQYWlycyIsIm1hcCIsIm91dHB1dHMiLCJzb3J0ZWRJbnB1dE91dHB1dFBhaXJzIiwiYSIsImIiLCJwYWlyIiwiaSIsIm91dHB1dHNUaGF0V2lsbEJlVXBkYXRlZCIsIm91dHB1dCIsInBheWxvYWQiLCJldmVudCIsInJlcXVlc3RRdWV1ZSIsIkV2ZW50R3JhcGgiLCJvdXRwdXRPYnNlcnZlcnMiLCJjaGFuZ2VkUHJvcHMiLCJub2RlIiwicHJvcE5hbWUiLCJoYXNOb2RlIiwib3V0cHV0SWQiLCJjb250YWlucyIsImRlcE9yZGVyIiwiaW5kZXhPZiIsInF1ZXVlZE9ic2VydmVycyIsImZpbHRlck9ic2VydmVycyIsIm91dHB1dElkQW5kUHJvcCIsIm91dHB1dENvbXBvbmVudElkIiwiY29udHJvbGxlcnMiLCJjb250cm9sbGVyc0luRnV0dXJlUXVldWUiLCJjb250cm9sbGVySXNJbkV4aXN0aW5nUXVldWUiLCJyIiwiY29udHJvbGxlcklkIiwic3RhdHVzIiwibmV3UmVxdWVzdFF1ZXVlIiwidWlkIiwicmVxdWVzdFRpbWUiLCJEYXRlIiwibm93IiwicHJvbWlzZXMiLCJvdXRwdXRQcm9wIiwicmVxdWVzdFVpZCIsInVwZGF0ZU91dHB1dCIsIlByb21pc2UiLCJhbGwiLCJjb25maWciLCJkZXBlbmRlbmNpZXNSZXF1ZXN0IiwicHJvcGVydHkiLCJjb250ZW50IiwiZmluZCIsImRlcGVuZGVuY3kiLCJpbnB1dHMiLCJzdGF0ZSIsInZhbGlkS2V5cyIsImlucHV0T2JqZWN0IiwiUmVmZXJlbmNlRXJyb3IiLCJqb2luIiwidmFsdWUiLCJzdGF0ZU9iamVjdCIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImNvb2tpZSIsInBhcnNlIiwiZG9jdW1lbnQiLCJfY3NyZl90b2tlbiIsImNyZWRlbnRpYWxzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0aGVuIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJnZXRUaGlzUmVxdWVzdEluZGV4IiwicG9zdFJlcXVlc3RRdWV1ZSIsInRoaXNSZXF1ZXN0SW5kZXgiLCJ1cGRhdGVSZXF1ZXN0UXVldWUiLCJ1cGRhdGVkUXVldWUiLCJfXyIsInJlc3BvbnNlVGltZSIsInJlamVjdGVkIiwidGhpc0NvbnRyb2xsZXJJZCIsInBydW5lZFF1ZXVlIiwiZmlsdGVyIiwicXVldWVJdGVtIiwiaW5kZXgiLCJpc1JlamVjdGVkIiwibGF0ZXN0UmVxdWVzdEluZGV4IiwiU1RBVFVTIiwiT0siLCJqc29uIiwiaGFuZGxlSnNvbiIsImRhdGEiLCJvYnNlcnZlclVwZGF0ZVBheWxvYWQiLCJyZXNwb25zZSIsInNvdXJjZSIsInN1YlRyZWUiLCJjaGlsZHJlbiIsInN0YXJ0aW5nUGF0aCIsIm5ld1Byb3BzIiwiYXBwZW5kSWRzIiwiY2hpbGQiLCJjb21wb25lbnRJZEFuZFByb3AiLCJjaGlsZFByb3AiLCJub2RlcyIsIm91dHB1dElkcyIsImlkQW5kUHJvcCIsInJlZHVjZWROb2RlSWRzIiwic29ydGVkTmV3UHJvcHMiLCJzYXZlZFN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O3lwQkFBQTs7O1FBMkNnQkEscUIsR0FBQUEscUI7UUErQ0FDLEksR0FBQUEsSTtRQXdCQUMsSSxHQUFBQSxJO1FBbUVBQyxlLEdBQUFBLGU7UUEraUJBQyxTLEdBQUFBLFM7O0FBbnVCaEI7O0FBMEJBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVPLElBQU1DLG9DQUFjLGdDQUFhLDJCQUFVLGdCQUFWLENBQWIsQ0FBcEI7QUFDQSxJQUFNQyw0Q0FBa0IsZ0NBQWEsMkJBQVUsbUJBQVYsQ0FBYixDQUF4QjtBQUNBLElBQU1DLHdDQUFnQixnQ0FBYSwyQkFBVSxnQkFBVixDQUFiLENBQXRCO0FBQ0EsSUFBTUMsc0NBQWUsZ0NBQWEsMkJBQVUsZUFBVixDQUFiLENBQXJCO0FBQ0EsSUFBTUMsZ0NBQVksZ0NBQWEsMkJBQVUsWUFBVixDQUFiLENBQWxCO0FBQ0EsSUFBTUMsNENBQWtCLGdDQUFhLDJCQUFVLG1CQUFWLENBQWIsQ0FBeEI7QUFDQSxJQUFNQyxrQ0FBYSxnQ0FBYSwyQkFBVSxhQUFWLENBQWIsQ0FBbkI7O0FBRUEsU0FBU1gscUJBQVQsR0FBaUM7QUFDcEMsV0FBTyxVQUFTWSxRQUFULEVBQW1CQyxRQUFuQixFQUE2QjtBQUNoQ0MsNEJBQW9CRixRQUFwQixFQUE4QkMsUUFBOUI7QUFDQUQsaUJBQVNGLGdCQUFnQiw0QkFBWSxVQUFaLENBQWhCLENBQVQ7QUFDSCxLQUhEO0FBSUg7O0FBRUQsU0FBU0ksbUJBQVQsQ0FBNkJGLFFBQTdCLEVBQXVDQyxRQUF2QyxFQUFpRDtBQUFBLG9CQUM1QkEsVUFENEI7QUFBQSxRQUN0Q0UsTUFEc0MsYUFDdENBLE1BRHNDOztBQUFBLFFBRXRDQyxVQUZzQyxHQUV4QkQsTUFGd0IsQ0FFdENDLFVBRnNDOztBQUc3QyxRQUFNQyxXQUFXRCxXQUFXRSxZQUFYLEVBQWpCO0FBQ0EsUUFBTUMsZUFBZSxFQUFyQjtBQUNBRixhQUFTRyxPQUFUO0FBQ0FILGFBQVNJLE9BQVQsQ0FBaUIsa0JBQVU7QUFDdkIsWUFBTUMsY0FBY0MsT0FBT0MsS0FBUCxDQUFhLEdBQWIsRUFBa0IsQ0FBbEIsQ0FBcEI7QUFDQTs7Ozs7QUFLQSxZQUNJUixXQUFXUyxjQUFYLENBQTBCRixNQUExQixFQUFrQ0csTUFBbEMsR0FBMkMsQ0FBM0MsSUFDQVYsV0FBV1csWUFBWCxDQUF3QkosTUFBeEIsRUFBZ0NHLE1BQWhDLEtBQTJDLENBRDNDLElBRUEsZ0JBQUlKLFdBQUosRUFBaUJULFdBQVdlLEtBQTVCLENBSEosRUFJRTtBQUNFVCx5QkFBYVUsSUFBYixDQUFrQk4sTUFBbEI7QUFDSDtBQUNKLEtBZEQ7O0FBZ0JBTyxtQkFBZVgsWUFBZixFQUE2QkgsVUFBN0IsRUFBeUNLLE9BQXpDLENBQWlELHVCQUFlO0FBQUEsb0NBQ3ZCVSxZQUFZQyxLQUFaLENBQWtCUixLQUFsQixDQUF3QixHQUF4QixDQUR1QjtBQUFBO0FBQUEsWUFDckRGLFdBRHFEO0FBQUEsWUFDeENXLGFBRHdDO0FBRTVEOzs7QUFDQSxZQUFNQyxXQUFXLHFCQUNiLG1CQUFPckIsV0FBV2UsS0FBWCxDQUFpQk4sV0FBakIsQ0FBUCxFQUFzQyxDQUFDLE9BQUQsRUFBVVcsYUFBVixDQUF0QyxDQURhLENBQWpCO0FBR0EsWUFBTUUsWUFBWSxpQkFBS0QsUUFBTCxFQUFlckIsV0FBV3VCLE1BQTFCLENBQWxCOztBQUVBeEIsaUJBQ0lULGdCQUFnQjtBQUNaa0MsZ0JBQUlmLFdBRFE7QUFFWmdCLHVDQUFTTCxhQUFULEVBQXlCRSxTQUF6QixDQUZZO0FBR1pJLDZCQUFpQlIsWUFBWVE7QUFIakIsU0FBaEIsQ0FESjtBQU9ILEtBZkQ7QUFnQkg7O0FBRU0sU0FBU3RDLElBQVQsR0FBZ0I7QUFDbkIsV0FBTyxVQUFTVyxRQUFULEVBQW1CQyxRQUFuQixFQUE2QjtBQUNoQyxZQUFNMkIsVUFBVTNCLFdBQVcyQixPQUEzQjtBQUNBNUIsaUJBQVMsZ0NBQWEsTUFBYixHQUFUO0FBQ0EsWUFBTTZCLE9BQU9ELFFBQVFFLE1BQVIsQ0FBZSxDQUFmLENBQWI7O0FBRUE7QUFDQTlCLGlCQUNJLGdDQUFhLGtCQUFiLEVBQWlDO0FBQzdCK0Isc0JBQVU5QixXQUFXZSxLQUFYLENBQWlCYSxLQUFLSixFQUF0QixDQURtQjtBQUU3QkMsbUJBQU9HLEtBQUtIO0FBRmlCLFNBQWpDLENBREo7O0FBT0E7QUFDQTFCLGlCQUNJVCxnQkFBZ0I7QUFDWmtDLGdCQUFJSSxLQUFLSixFQURHO0FBRVpDLG1CQUFPRyxLQUFLSDtBQUZBLFNBQWhCLENBREo7QUFNSCxLQXBCRDtBQXFCSDs7QUFFTSxTQUFTcEMsSUFBVCxHQUFnQjtBQUNuQixXQUFPLFVBQVNVLFFBQVQsRUFBbUJDLFFBQW5CLEVBQTZCO0FBQ2hDLFlBQU0yQixVQUFVM0IsV0FBVzJCLE9BQTNCO0FBQ0E1QixpQkFBUyxnQ0FBYSxNQUFiLEdBQVQ7QUFDQSxZQUFNZ0MsV0FBV0osUUFBUUssSUFBUixDQUFhTCxRQUFRSyxJQUFSLENBQWFuQixNQUFiLEdBQXNCLENBQW5DLENBQWpCOztBQUVBO0FBQ0FkLGlCQUNJLGdDQUFhLGtCQUFiLEVBQWlDO0FBQzdCK0Isc0JBQVU5QixXQUFXZSxLQUFYLENBQWlCZ0IsU0FBU1AsRUFBMUIsQ0FEbUI7QUFFN0JDLG1CQUFPTSxTQUFTTjtBQUZhLFNBQWpDLENBREo7O0FBT0E7QUFDQTFCLGlCQUNJVCxnQkFBZ0I7QUFDWmtDLGdCQUFJTyxTQUFTUCxFQUREO0FBRVpDLG1CQUFPTSxTQUFTTjtBQUZKLFNBQWhCLENBREo7QUFNSCxLQXBCRDtBQXFCSDs7QUFFRCxTQUFTUixjQUFULENBQXdCZ0IsT0FBeEIsRUFBaUM5QixVQUFqQyxFQUE2QztBQUN6Qzs7Ozs7QUFLQSxRQUFNK0IsbUJBQW1CRCxRQUFRRSxHQUFSLENBQVk7QUFBQSxlQUFXO0FBQzVDaEIsbUJBQU9ULE1BRHFDO0FBRTVDO0FBQ0EwQixxQkFBU2pDLFdBQVdTLGNBQVgsQ0FBMEJGLE1BQTFCLENBSG1DO0FBSTVDZ0IsNkJBQWlCO0FBSjJCLFNBQVg7QUFBQSxLQUFaLENBQXpCOztBQU9BLFFBQU1XLHlCQUF5QixpQkFDM0IsVUFBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsZUFBVUEsRUFBRUgsT0FBRixDQUFVdkIsTUFBVixHQUFtQnlCLEVBQUVGLE9BQUYsQ0FBVXZCLE1BQXZDO0FBQUEsS0FEMkIsRUFFM0JxQixnQkFGMkIsQ0FBL0I7O0FBS0E7Ozs7Ozs7Ozs7O0FBV0FHLDJCQUF1QjdCLE9BQXZCLENBQStCLFVBQUNnQyxJQUFELEVBQU9DLENBQVAsRUFBYTtBQUN4QyxZQUFNQywyQkFBMkIsb0JBQzdCLGtCQUFNLFNBQU4sRUFBaUIsa0JBQU0sQ0FBTixFQUFTRCxDQUFULEVBQVlKLHNCQUFaLENBQWpCLENBRDZCLENBQWpDO0FBR0FHLGFBQUtKLE9BQUwsQ0FBYTVCLE9BQWIsQ0FBcUIsa0JBQVU7QUFDM0IsZ0JBQUkscUJBQVNtQyxNQUFULEVBQWlCRCx3QkFBakIsQ0FBSixFQUFnRDtBQUM1Q0YscUJBQUtkLGVBQUwsQ0FBcUJWLElBQXJCLENBQTBCMkIsTUFBMUI7QUFDSDtBQUNKLFNBSkQ7QUFLSCxLQVREOztBQVdBLFdBQU9OLHNCQUFQO0FBQ0g7O0FBRU0sU0FBUy9DLGVBQVQsQ0FBeUJzRCxPQUF6QixFQUFrQztBQUNyQyxXQUFPLFVBQVM3QyxRQUFULEVBQW1CQyxRQUFuQixFQUE2QjtBQUFBLFlBQ3pCd0IsRUFEeUIsR0FDWW9CLE9BRFosQ0FDekJwQixFQUR5QjtBQUFBLFlBQ3JCcUIsS0FEcUIsR0FDWUQsT0FEWixDQUNyQkMsS0FEcUI7QUFBQSxZQUNkcEIsS0FEYyxHQUNZbUIsT0FEWixDQUNkbkIsS0FEYztBQUFBLFlBQ1BDLGVBRE8sR0FDWWtCLE9BRFosQ0FDUGxCLGVBRE87O0FBQUEseUJBR0QxQixVQUhDO0FBQUEsWUFHekJFLE1BSHlCLGNBR3pCQSxNQUh5QjtBQUFBLFlBR2pCNEMsWUFIaUIsY0FHakJBLFlBSGlCOztBQUFBLFlBSXpCQyxVQUp5QixHQUlDN0MsTUFKRCxDQUl6QjZDLFVBSnlCO0FBQUEsWUFJYjVDLFVBSmEsR0FJQ0QsTUFKRCxDQUliQyxVQUphO0FBS2hDOzs7Ozs7OztBQU9BLFlBQUk2Qyx3QkFBSjtBQUNBLFlBQUlILEtBQUosRUFBVztBQUNQRyw4QkFBa0JELFdBQVduQyxjQUFYLENBQTZCWSxFQUE3QixTQUFtQ3FCLEtBQW5DLENBQWxCO0FBQ0gsU0FGRCxNQUVPO0FBQ0gsZ0JBQU1JLGVBQWUsaUJBQUt4QixLQUFMLENBQXJCO0FBQ0F1Qiw4QkFBa0IsRUFBbEI7QUFDQUMseUJBQWF6QyxPQUFiLENBQXFCLG9CQUFZO0FBQzdCLG9CQUFNMEMsT0FBVTFCLEVBQVYsU0FBZ0IyQixRQUF0QjtBQUNBLG9CQUFJLENBQUNoRCxXQUFXaUQsT0FBWCxDQUFtQkYsSUFBbkIsQ0FBTCxFQUErQjtBQUMzQjtBQUNIO0FBQ0QvQywyQkFBV1MsY0FBWCxDQUEwQnNDLElBQTFCLEVBQWdDMUMsT0FBaEMsQ0FBd0Msb0JBQVk7QUFDaEQ7Ozs7Ozs7O0FBUUEsd0JBQUksQ0FBQyxxQkFBUzZDLFFBQVQsRUFBbUJMLGVBQW5CLENBQUwsRUFBMEM7QUFDdENBLHdDQUFnQmhDLElBQWhCLENBQXFCcUMsUUFBckI7QUFDSDtBQUNKLGlCQVpEO0FBYUgsYUFsQkQ7QUFtQkg7O0FBRUQsWUFBSTNCLGVBQUosRUFBcUI7QUFDakJzQiw4QkFBa0IsbUJBQ2QsaUJBQUtNLGVBQUwsRUFBZTVCLGVBQWYsQ0FEYyxFQUVkc0IsZUFGYyxDQUFsQjtBQUlIOztBQUVELFlBQUksb0JBQVFBLGVBQVIsQ0FBSixFQUE4QjtBQUMxQjtBQUNIOztBQUVEOzs7OztBQUtBLFlBQU1PLFdBQVdwRCxXQUFXRSxZQUFYLEVBQWpCO0FBQ0EyQywwQkFBa0IsaUJBQ2QsVUFBQ1YsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsbUJBQVVnQixTQUFTQyxPQUFULENBQWlCakIsQ0FBakIsSUFBc0JnQixTQUFTQyxPQUFULENBQWlCbEIsQ0FBakIsQ0FBaEM7QUFBQSxTQURjLEVBRWRVLGVBRmMsQ0FBbEI7QUFJQSxZQUFNUyxrQkFBa0IsRUFBeEI7QUFDQVQsd0JBQWdCeEMsT0FBaEIsQ0FBd0IsU0FBU2tELGVBQVQsQ0FBeUJDLGVBQXpCLEVBQTBDO0FBQzlELGdCQUFNQyxvQkFBb0JELGdCQUFnQmhELEtBQWhCLENBQXNCLEdBQXRCLEVBQTJCLENBQTNCLENBQTFCOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBOzs7O0FBSUEsZ0JBQU1rRCxjQUFjMUQsV0FBV2lELE9BQVgsQ0FBbUJPLGVBQW5CLElBQ2R4RCxXQUFXVyxZQUFYLENBQXdCNkMsZUFBeEIsQ0FEYyxHQUVkLEVBRk47O0FBSUEsZ0JBQU1HLDJCQUEyQix5QkFDN0JMLGVBRDZCLEVBRTdCSSxXQUY2QixDQUFqQzs7QUFLQTs7Ozs7Ozs7Ozs7OztBQWFBLGdCQUFNRSw4QkFBOEIsZ0JBQ2hDO0FBQUEsdUJBQ0kscUJBQVNDLEVBQUVDLFlBQVgsRUFBeUJKLFdBQXpCLEtBQ0FHLEVBQUVFLE1BQUYsS0FBYSxTQUZqQjtBQUFBLGFBRGdDLEVBSWhDcEIsWUFKZ0MsQ0FBcEM7O0FBT0E7Ozs7Ozs7Ozs7Ozs7QUFhQTs7Ozs7OztBQU9BLGdCQUNJZ0IseUJBQXlCakQsTUFBekIsS0FBb0MsQ0FBcEMsSUFDQSxnQkFBSStDLGlCQUFKLEVBQXVCNUQsV0FBV2UsS0FBbEMsQ0FEQSxJQUVBLENBQUNnRCwyQkFITCxFQUlFO0FBQ0VOLGdDQUFnQnpDLElBQWhCLENBQXFCMkMsZUFBckI7QUFDSDtBQUNKLFNBbEZEOztBQW9GQTs7Ozs7QUFLQSxZQUFNUSxrQkFBa0JWLGdCQUFnQnRCLEdBQWhCLENBQW9CO0FBQUEsbUJBQU07QUFDOUM4Qiw4QkFBY3hCLENBRGdDO0FBRTlDeUIsd0JBQVEsU0FGc0M7QUFHOUNFLHFCQUFLLGtCQUh5QztBQUk5Q0MsNkJBQWFDLEtBQUtDLEdBQUw7QUFKaUMsYUFBTjtBQUFBLFNBQXBCLENBQXhCO0FBTUF4RSxpQkFBU04sZ0JBQWdCLG1CQUFPcUQsWUFBUCxFQUFxQnFCLGVBQXJCLENBQWhCLENBQVQ7O0FBRUEsWUFBTUssV0FBVyxFQUFqQjtBQUNBLGFBQUssSUFBSS9CLElBQUksQ0FBYixFQUFnQkEsSUFBSWdCLGdCQUFnQjVDLE1BQXBDLEVBQTRDNEIsR0FBNUMsRUFBaUQ7QUFDN0MsZ0JBQU1rQixrQkFBa0JGLGdCQUFnQmhCLENBQWhCLENBQXhCOztBQUQ2Qyx3Q0FFTGtCLGdCQUFnQmhELEtBQWhCLENBQXNCLEdBQXRCLENBRks7QUFBQTtBQUFBLGdCQUV0Q2lELGlCQUZzQztBQUFBLGdCQUVuQmEsVUFGbUI7O0FBSTdDLGdCQUFNQyxhQUFhUCxnQkFBZ0IxQixDQUFoQixFQUFtQjJCLEdBQXRDOztBQUVBSSxxQkFBU3hELElBQVQsQ0FDSTJELGFBQ0lmLGlCQURKLEVBRUlhLFVBRkosRUFHSTVCLEtBSEosRUFJSTdDLFFBSkosRUFLSTBFLFVBTEosRUFNSTNFLFFBTkosQ0FESjtBQVVIOztBQUVEO0FBQ0EsZUFBTzZFLFFBQVFDLEdBQVIsQ0FBWUwsUUFBWixDQUFQO0FBQ0E7QUFDSCxLQXBMRDtBQXFMSDs7QUFFRCxTQUFTRyxZQUFULENBQ0lmLGlCQURKLEVBRUlhLFVBRkosRUFHSTVCLEtBSEosRUFJSTdDLFFBSkosRUFLSTBFLFVBTEosRUFNSTNFLFFBTkosRUFPRTtBQUFBLHFCQUMrREMsVUFEL0Q7QUFBQSxRQUNTOEUsTUFEVCxjQUNTQSxNQURUO0FBQUEsUUFDaUJ2RCxNQURqQixjQUNpQkEsTUFEakI7QUFBQSxRQUN5QnJCLE1BRHpCLGNBQ3lCQSxNQUR6QjtBQUFBLFFBQ2lDYSxLQURqQyxjQUNpQ0EsS0FEakM7QUFBQSxRQUN3Q2dFLG1CQUR4QyxjQUN3Q0EsbUJBRHhDOztBQUFBLFFBRVM1RSxVQUZULEdBRXVCRCxNQUZ2QixDQUVTQyxVQUZUOztBQUlFOzs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxRQUFNeUMsVUFBVTtBQUNaRCxnQkFBUSxFQUFDbkIsSUFBSW9DLGlCQUFMLEVBQXdCb0IsVUFBVVAsVUFBbEM7QUFESSxLQUFoQjs7QUFJQSxRQUFJNUIsS0FBSixFQUFXO0FBQ1BELGdCQUFRQyxLQUFSLEdBQWdCQSxLQUFoQjtBQUNIOztBQTFCSCxnQ0E0QjBCa0Msb0JBQW9CRSxPQUFwQixDQUE0QkMsSUFBNUIsQ0FDcEI7QUFBQSxlQUNJQyxXQUFXeEMsTUFBWCxDQUFrQm5CLEVBQWxCLEtBQXlCb0MsaUJBQXpCLElBQ0F1QixXQUFXeEMsTUFBWCxDQUFrQnFDLFFBQWxCLEtBQStCUCxVQUZuQztBQUFBLEtBRG9CLENBNUIxQjtBQUFBLFFBNEJTVyxNQTVCVCx5QkE0QlNBLE1BNUJUO0FBQUEsUUE0QmlCQyxLQTVCakIseUJBNEJpQkEsS0E1QmpCOztBQWlDRSxRQUFNQyxZQUFZLGlCQUFLdkUsS0FBTCxDQUFsQjtBQUNBLFFBQUlxRSxPQUFPdkUsTUFBUCxHQUFnQixDQUFwQixFQUF1QjtBQUNuQitCLGdCQUFRd0MsTUFBUixHQUFpQkEsT0FBT2pELEdBQVAsQ0FBVyx1QkFBZTtBQUN2QztBQUNBLGdCQUFJLENBQUMscUJBQVNvRCxZQUFZL0QsRUFBckIsRUFBeUI4RCxTQUF6QixDQUFMLEVBQTBDO0FBQ3RDLHNCQUFNLElBQUlFLGNBQUosQ0FDRiw0Q0FDSSw4QkFESixHQUVJLDRCQUZKLEdBR0lELFlBQVkvRCxFQUhoQixHQUlJLHlCQUpKLEdBS0krRCxZQUFZUCxRQUxoQixHQU1JLDhDQU5KLEdBT0ksSUFQSixHQVFJTSxVQUFVRyxJQUFWLENBQWUsSUFBZixDQVJKLEdBU0ksSUFWRixDQUFOO0FBWUg7QUFDRCxnQkFBTXBFLFdBQVcscUJBQ2IsbUJBQU9OLE1BQU13RSxZQUFZL0QsRUFBbEIsQ0FBUCxFQUE4QixDQUFDLE9BQUQsRUFBVStELFlBQVlQLFFBQXRCLENBQTlCLENBRGEsQ0FBakI7QUFHQSxtQkFBTztBQUNIeEQsb0JBQUkrRCxZQUFZL0QsRUFEYjtBQUVId0QsMEJBQVVPLFlBQVlQLFFBRm5CO0FBR0hVLHVCQUFPLGlCQUFLckUsUUFBTCxFQUFlRSxNQUFmO0FBSEosYUFBUDtBQUtILFNBeEJnQixDQUFqQjtBQXlCSDtBQUNELFFBQUk4RCxNQUFNeEUsTUFBTixHQUFlLENBQW5CLEVBQXNCO0FBQ2xCK0IsZ0JBQVF5QyxLQUFSLEdBQWdCQSxNQUFNbEQsR0FBTixDQUFVLHVCQUFlO0FBQ3JDO0FBQ0EsZ0JBQUksQ0FBQyxxQkFBU3dELFlBQVluRSxFQUFyQixFQUF5QjhELFNBQXpCLENBQUwsRUFBMEM7QUFDdEMsc0JBQU0sSUFBSUUsY0FBSixDQUNGLDJDQUNJLHFDQURKLEdBRUksNEJBRkosR0FHSUcsWUFBWW5FLEVBSGhCLEdBSUkseUJBSkosR0FLSW1FLFlBQVlYLFFBTGhCLEdBTUksOENBTkosR0FPSSxJQVBKLEdBUUlNLFVBQVVHLElBQVYsQ0FBZSxJQUFmLENBUkosR0FTSSxJQVZGLENBQU47QUFZSDtBQUNELGdCQUFNcEUsV0FBVyxxQkFDYixtQkFBT04sTUFBTTRFLFlBQVluRSxFQUFsQixDQUFQLEVBQThCLENBQUMsT0FBRCxFQUFVbUUsWUFBWVgsUUFBdEIsQ0FBOUIsQ0FEYSxDQUFqQjtBQUdBLG1CQUFPO0FBQ0h4RCxvQkFBSW1FLFlBQVluRSxFQURiO0FBRUh3RCwwQkFBVVcsWUFBWVgsUUFGbkI7QUFHSFUsdUJBQU8saUJBQUtyRSxRQUFMLEVBQWVFLE1BQWY7QUFISixhQUFQO0FBS0gsU0F4QmUsQ0FBaEI7QUF5Qkg7O0FBRUQsV0FBT3FFLE1BQVMscUJBQVFkLE1BQVIsQ0FBVCw2QkFBa0Q7QUFDckRlLGdCQUFRLE1BRDZDO0FBRXJEQyxpQkFBUztBQUNMLDRCQUFnQixrQkFEWDtBQUVMLDJCQUFlQyxpQkFBT0MsS0FBUCxDQUFhQyxTQUFTRixNQUF0QixFQUE4Qkc7QUFGeEMsU0FGNEM7QUFNckRDLHFCQUFhLGFBTndDO0FBT3JEQyxjQUFNQyxLQUFLQyxTQUFMLENBQWUxRCxPQUFmO0FBUCtDLEtBQWxELEVBUUoyRCxJQVJJLENBUUMsU0FBU0MsY0FBVCxDQUF3QkMsR0FBeEIsRUFBNkI7QUFDakMsWUFBTUMsc0JBQXNCLFNBQXRCQSxtQkFBc0IsR0FBTTtBQUM5QixnQkFBTUMsbUJBQW1CM0csV0FBVzhDLFlBQXBDO0FBQ0EsZ0JBQU04RCxtQkFBbUIsc0JBQ3JCLG1CQUFPLEtBQVAsRUFBY2xDLFVBQWQsQ0FEcUIsRUFFckJpQyxnQkFGcUIsQ0FBekI7QUFJQSxtQkFBT0MsZ0JBQVA7QUFDSCxTQVBEOztBQVNBLFlBQU1DLHFCQUFxQixTQUFyQkEsa0JBQXFCLFdBQVk7QUFDbkMsZ0JBQU1GLG1CQUFtQjNHLFdBQVc4QyxZQUFwQztBQUNBLGdCQUFNOEQsbUJBQW1CRixxQkFBekI7QUFDQSxnQkFBSUUscUJBQXFCLENBQUMsQ0FBMUIsRUFBNkI7QUFDekI7QUFDQTtBQUNIO0FBQ0QsZ0JBQU1FLGVBQWUsbUJBQ2pCLGtCQUFNQyxTQUFOLEVBQVU7QUFDTjdDLHdCQUFRdUMsSUFBSXZDLE1BRE47QUFFTjhDLDhCQUFjMUMsS0FBS0MsR0FBTCxFQUZSO0FBR04wQztBQUhNLGFBQVYsQ0FEaUIsRUFNakJMLGdCQU5pQixFQU9qQkQsZ0JBUGlCLENBQXJCO0FBU0E7QUFDQSxnQkFBTU8sbUJBQ0ZQLGlCQUFpQkMsZ0JBQWpCLEVBQW1DM0MsWUFEdkM7QUFFQSxnQkFBTWtELGNBQWNMLGFBQWFNLE1BQWIsQ0FBb0IsVUFBQ0MsU0FBRCxFQUFZQyxLQUFaLEVBQXNCO0FBQzFELHVCQUNJRCxVQUFVcEQsWUFBVixLQUEyQmlELGdCQUEzQixJQUNBSSxTQUFTVixnQkFGYjtBQUlILGFBTG1CLENBQXBCOztBQU9BN0cscUJBQVNOLGdCQUFnQjBILFdBQWhCLENBQVQ7QUFDSCxTQTNCRDs7QUE2QkEsWUFBTUksYUFBYSxTQUFiQSxVQUFhLEdBQU07QUFDckIsZ0JBQU1DLHFCQUFxQjtBQUN2QjtBQUNBLCtCQUFPLGNBQVAsRUFBMEI1RCxpQkFBMUIsU0FBK0NhLFVBQS9DLENBRnVCLEVBR3ZCekUsV0FBVzhDLFlBSFksQ0FBM0I7QUFLQTs7Ozs7O0FBTUEsZ0JBQU1tRSxXQUFXTyxxQkFBcUJkLHFCQUF0QztBQUNBLG1CQUFPTyxRQUFQO0FBQ0gsU0FkRDs7QUFnQkEsWUFBSVIsSUFBSXZDLE1BQUosS0FBZXVELG1CQUFPQyxFQUExQixFQUE4QjtBQUMxQjtBQUNBYiwrQkFBbUIsSUFBbkI7QUFDQTtBQUNIOztBQUVEOzs7OztBQUtBLFlBQUlVLFlBQUosRUFBa0I7QUFDZFYsK0JBQW1CLElBQW5CO0FBQ0E7QUFDSDs7QUFFREosWUFBSWtCLElBQUosR0FBV3BCLElBQVgsQ0FBZ0IsU0FBU3FCLFVBQVQsQ0FBb0JDLElBQXBCLEVBQTBCO0FBQ3RDOzs7Ozs7QUFNQSxnQkFBSU4sWUFBSixFQUFrQjtBQUNkVixtQ0FBbUIsSUFBbkI7QUFDQTtBQUNIOztBQUVEQSwrQkFBbUIsS0FBbkI7O0FBRUE7Ozs7Ozs7O0FBUUEsZ0JBQUksQ0FBQyxnQkFBSWpELGlCQUFKLEVBQXVCNUQsV0FBV2UsS0FBbEMsQ0FBTCxFQUErQztBQUMzQztBQUNIOztBQUVEO0FBQ0EsZ0JBQU0rRyx3QkFBd0I7QUFDMUJoRywwQkFBVTlCLFdBQVdlLEtBQVgsQ0FBaUI2QyxpQkFBakIsQ0FEZ0I7QUFFMUI7QUFDQW5DLHVCQUFPb0csS0FBS0UsUUFBTCxDQUFjdEcsS0FISztBQUkxQnVHLHdCQUFRO0FBSmtCLGFBQTlCO0FBTUFqSSxxQkFBU1AsWUFBWXNJLHFCQUFaLENBQVQ7O0FBRUEvSCxxQkFDSVQsZ0JBQWdCO0FBQ1prQyxvQkFBSW9DLGlCQURRO0FBRVpuQyx1QkFBT29HLEtBQUtFLFFBQUwsQ0FBY3RHO0FBRlQsYUFBaEIsQ0FESjs7QUFPQTs7Ozs7QUFLQSxnQkFBSSxnQkFBSSxVQUFKLEVBQWdCcUcsc0JBQXNCckcsS0FBdEMsQ0FBSixFQUFrRDtBQUM5QzFCLHlCQUNJSixhQUFhO0FBQ1RzSSw2QkFBU0gsc0JBQXNCckcsS0FBdEIsQ0FBNEJ5RyxRQUQ1QjtBQUVUQyxrQ0FBYyxtQkFDVm5JLFdBQVdlLEtBQVgsQ0FBaUI2QyxpQkFBakIsQ0FEVSxFQUVWLENBQUMsT0FBRCxFQUFVLFVBQVYsQ0FGVTtBQUZMLGlCQUFiLENBREo7O0FBVUE7Ozs7O0FBS0Esb0JBQ0kscUJBQVMsaUJBQUtrRSxzQkFBc0JyRyxLQUF0QixDQUE0QnlHLFFBQWpDLENBQVQsRUFBcUQsQ0FDakQsT0FEaUQsRUFFakQsUUFGaUQsQ0FBckQsS0FJQSxDQUFDLG9CQUFRSixzQkFBc0JyRyxLQUF0QixDQUE0QnlHLFFBQXBDLENBTEwsRUFNRTtBQUNFOzs7Ozs7O0FBT0Esd0JBQU1FLFdBQVcsRUFBakI7QUFDQSw0Q0FDSU4sc0JBQXNCckcsS0FBdEIsQ0FBNEJ5RyxRQURoQyxFQUVJLFNBQVNHLFNBQVQsQ0FBbUJDLEtBQW5CLEVBQTBCO0FBQ3RCLDRCQUFJLGtCQUFNQSxLQUFOLENBQUosRUFBa0I7QUFDZCw2Q0FBS0EsTUFBTTdHLEtBQVgsRUFBa0JqQixPQUFsQixDQUEwQixxQkFBYTtBQUNuQyxvQ0FBTStILHFCQUNGRCxNQUFNN0csS0FBTixDQUFZRCxFQURWLFNBRUZnSCxTQUZKO0FBR0Esb0NBQ0ksZ0JBQ0lELGtCQURKLEVBRUlwSSxXQUFXc0ksS0FGZixDQURKLEVBS0U7QUFDRUwsNkNBQVNHLGtCQUFULElBQStCO0FBQzNCL0csNENBQUk4RyxNQUFNN0csS0FBTixDQUFZRCxFQURXO0FBRTNCQyxtRUFDSytHLFNBREwsRUFFUUYsTUFBTTdHLEtBQU4sQ0FBWStHLFNBQVosQ0FGUjtBQUYyQixxQ0FBL0I7QUFPSDtBQUNKLDZCQWxCRDtBQW1CSDtBQUNKLHFCQXhCTDs7QUEyQkE7Ozs7Ozs7Ozs7QUFVQTs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSx3QkFBTUUsWUFBWSxFQUFsQjtBQUNBLHFDQUFLTixRQUFMLEVBQWU1SCxPQUFmLENBQXVCLHFCQUFhO0FBQ2hDO0FBQ0k7QUFDQUwsbUNBQVdTLGNBQVgsQ0FBMEIrSCxTQUExQixFQUFxQzlILE1BQXJDLEtBQWdELENBQWhEO0FBQ0E7Ozs7QUFJQSxpREFDSVYsV0FBV1csWUFBWCxDQUF3QjZILFNBQXhCLENBREosRUFFSSxpQkFBS1AsUUFBTCxDQUZKLEVBR0V2SCxNQUhGLEtBR2EsQ0FWakIsRUFXRTtBQUNFNkgsc0NBQVUxSCxJQUFWLENBQWUySCxTQUFmO0FBQ0EsbUNBQU9QLFNBQVNPLFNBQVQsQ0FBUDtBQUNIO0FBQ0oscUJBaEJEOztBQWtCQTtBQUNBLHdCQUFNQyxpQkFBaUIzSCxlQUNuQixpQkFBS21ILFFBQUwsQ0FEbUIsRUFFbkJqSSxVQUZtQixDQUF2QjtBQUlBLHdCQUFNb0QsV0FBV3BELFdBQVdFLFlBQVgsRUFBakI7QUFDQSx3QkFBTXdJLGlCQUFpQixpQkFDbkIsVUFBQ3ZHLENBQUQsRUFBSUMsQ0FBSjtBQUFBLCtCQUNJZ0IsU0FBU0MsT0FBVCxDQUFpQmxCLEVBQUVuQixLQUFuQixJQUNBb0MsU0FBU0MsT0FBVCxDQUFpQmpCLEVBQUVwQixLQUFuQixDQUZKO0FBQUEscUJBRG1CLEVBSW5CeUgsY0FKbUIsQ0FBdkI7QUFNQUMsbUNBQWVySSxPQUFmLENBQXVCLFVBQVNVLFdBQVQsRUFBc0I7QUFDekMsNEJBQU0wQixVQUFVd0YsU0FBU2xILFlBQVlDLEtBQXJCLENBQWhCO0FBQ0F5QixnQ0FBUWxCLGVBQVIsR0FBMEJSLFlBQVlRLGVBQXRDO0FBQ0EzQixpQ0FBU1QsZ0JBQWdCc0QsT0FBaEIsQ0FBVDtBQUNILHFCQUpEOztBQU1BO0FBQ0E4Riw4QkFBVWxJLE9BQVYsQ0FBa0IscUJBQWE7QUFDM0IsNEJBQU1rRSxhQUFhLGtCQUFuQjtBQUNBM0UsaUNBQ0lOLGdCQUNJLG1CQUNJO0FBQ0k7QUFDQXdFLDBDQUFjLElBRmxCO0FBR0lDLG9DQUFRLFNBSFo7QUFJSUUsaUNBQUtNLFVBSlQ7QUFLSUwseUNBQWFDLEtBQUtDLEdBQUw7QUFMakIseUJBREosRUFRSXZFLFdBQVc4QyxZQVJmLENBREosQ0FESjtBQWNBNkIscUNBQ0lnRSxVQUFVaEksS0FBVixDQUFnQixHQUFoQixFQUFxQixDQUFyQixDQURKLEVBRUlnSSxVQUFVaEksS0FBVixDQUFnQixHQUFoQixFQUFxQixDQUFyQixDQUZKLEVBR0ksSUFISixFQUlJWCxRQUpKLEVBS0kwRSxVQUxKLEVBTUkzRSxRQU5KO0FBUUgscUJBeEJEO0FBeUJIO0FBQ0o7QUFDSixTQXBNRDtBQXFNSCxLQXBSTSxDQUFQO0FBcVJIOztBQUVNLFNBQVNSLFNBQVQsQ0FBbUI4RixLQUFuQixFQUEwQjtBQUM3QjtBQUQ2QixRQUV0Qm5GLE1BRnNCLEdBRUdtRixLQUZILENBRXRCbkYsTUFGc0I7QUFBQSxRQUVkYSxLQUZjLEdBRUdzRSxLQUZILENBRWR0RSxLQUZjO0FBQUEsUUFFUFEsTUFGTyxHQUVHOEQsS0FGSCxDQUVQOUQsTUFGTztBQUFBLFFBR3RCcEIsVUFIc0IsR0FHUkQsTUFIUSxDQUd0QkMsVUFIc0I7O0FBSTdCLFFBQU1DLFdBQVdELFdBQVdzSSxLQUE1QjtBQUNBLFFBQU1LLGFBQWEsRUFBbkI7QUFDQSxxQkFBSzFJLFFBQUwsRUFBZUksT0FBZixDQUF1QixrQkFBVTtBQUFBLDRCQUNRRSxPQUFPQyxLQUFQLENBQWEsR0FBYixDQURSO0FBQUE7QUFBQSxZQUN0QkYsV0FEc0I7QUFBQSxZQUNUVyxhQURTO0FBRTdCOzs7Ozs7QUFJQSxZQUNJakIsV0FBV1MsY0FBWCxDQUEwQkYsTUFBMUIsRUFBa0NHLE1BQWxDLEdBQTJDLENBQTNDLElBQ0EsZ0JBQUlKLFdBQUosRUFBaUJNLEtBQWpCLENBRkosRUFHRTtBQUNFO0FBQ0EsZ0JBQU1NLFdBQVcscUJBQ2IsbUJBQU9OLE1BQU1OLFdBQU4sQ0FBUCxFQUEyQixDQUFDLE9BQUQsRUFBVVcsYUFBVixDQUEzQixDQURhLENBQWpCO0FBR0EsZ0JBQU1FLFlBQVksaUJBQUtELFFBQUwsRUFBZUUsTUFBZixDQUFsQjtBQUNBdUgsdUJBQVdwSSxNQUFYLElBQXFCWSxTQUFyQjtBQUNIO0FBQ0osS0FqQkQ7O0FBbUJBLFdBQU93SCxVQUFQO0FBQ0giLCJmaWxlIjoiLi9zcmMvYWN0aW9ucy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBmZXRjaDp0cnVlLCBQcm9taXNlOnRydWUsIGRvY3VtZW50OnRydWUgKi9cbmltcG9ydCB7XG4gICAgX18sXG4gICAgYWRqdXN0LFxuICAgIGFueSxcbiAgICBhcHBlbmQsXG4gICAgY29uY2F0LFxuICAgIGNvbnRhaW5zLFxuICAgIGZpbmRJbmRleCxcbiAgICBmaW5kTGFzdEluZGV4LFxuICAgIGZsYXR0ZW4sXG4gICAgZmxpcCxcbiAgICBoYXMsXG4gICAgaW50ZXJzZWN0aW9uLFxuICAgIGlzRW1wdHksXG4gICAga2V5cyxcbiAgICBsZW5zUGF0aCxcbiAgICBtZXJnZSxcbiAgICBwbHVjayxcbiAgICBwcm9wRXEsXG4gICAgcmVqZWN0LFxuICAgIHNsaWNlLFxuICAgIHNvcnQsXG4gICAgdHlwZSxcbiAgICAvLyAgICB2YWx1ZXMsXG4gICAgdmlldyxcbn0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJ3JlZHV4LWFjdGlvbnMnO1xuaW1wb3J0IHtjcmF3bExheW91dCwgaGFzSWR9IGZyb20gJy4uL3JlZHVjZXJzL3V0aWxzJztcbmltcG9ydCB7Z2V0QXBwU3RhdGV9IGZyb20gJy4uL3JlZHVjZXJzL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEFjdGlvbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IGNvb2tpZSBmcm9tICdjb29raWUnO1xuaW1wb3J0IHt1aWQsIHVybEJhc2V9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7U1RBVFVTfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVByb3BzID0gY3JlYXRlQWN0aW9uKGdldEFjdGlvbignT05fUFJPUF9DSEFOR0UnKSk7XG5leHBvcnQgY29uc3Qgc2V0UmVxdWVzdFF1ZXVlID0gY3JlYXRlQWN0aW9uKGdldEFjdGlvbignU0VUX1JFUVVFU1RfUVVFVUUnKSk7XG5leHBvcnQgY29uc3QgY29tcHV0ZUdyYXBocyA9IGNyZWF0ZUFjdGlvbihnZXRBY3Rpb24oJ0NPTVBVVEVfR1JBUEhTJykpO1xuZXhwb3J0IGNvbnN0IGNvbXB1dGVQYXRocyA9IGNyZWF0ZUFjdGlvbihnZXRBY3Rpb24oJ0NPTVBVVEVfUEFUSFMnKSk7XG5leHBvcnQgY29uc3Qgc2V0TGF5b3V0ID0gY3JlYXRlQWN0aW9uKGdldEFjdGlvbignU0VUX0xBWU9VVCcpKTtcbmV4cG9ydCBjb25zdCBzZXRBcHBMaWZlY3ljbGUgPSBjcmVhdGVBY3Rpb24oZ2V0QWN0aW9uKCdTRVRfQVBQX0xJRkVDWUNMRScpKTtcbmV4cG9ydCBjb25zdCByZWFkQ29uZmlnID0gY3JlYXRlQWN0aW9uKGdldEFjdGlvbignUkVBRF9DT05GSUcnKSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlSW5pdGlhbE91dHB1dHMoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGRpc3BhdGNoLCBnZXRTdGF0ZSkge1xuICAgICAgICB0cmlnZ2VyRGVmYXVsdFN0YXRlKGRpc3BhdGNoLCBnZXRTdGF0ZSk7XG4gICAgICAgIGRpc3BhdGNoKHNldEFwcExpZmVjeWNsZShnZXRBcHBTdGF0ZSgnSFlEUkFURUQnKSkpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIHRyaWdnZXJEZWZhdWx0U3RhdGUoZGlzcGF0Y2gsIGdldFN0YXRlKSB7XG4gICAgY29uc3Qge2dyYXBoc30gPSBnZXRTdGF0ZSgpO1xuICAgIGNvbnN0IHtJbnB1dEdyYXBofSA9IGdyYXBocztcbiAgICBjb25zdCBhbGxOb2RlcyA9IElucHV0R3JhcGgub3ZlcmFsbE9yZGVyKCk7XG4gICAgY29uc3QgaW5wdXROb2RlSWRzID0gW107XG4gICAgYWxsTm9kZXMucmV2ZXJzZSgpO1xuICAgIGFsbE5vZGVzLmZvckVhY2gobm9kZUlkID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSBub2RlSWQuc3BsaXQoJy4nKVswXTtcbiAgICAgICAgLypcbiAgICAgICAgICogRmlsdGVyIG91dCB0aGUgb3V0cHV0cyxcbiAgICAgICAgICogaW5wdXRzIHRoYXQgYXJlbid0IGxlYXZlcyxcbiAgICAgICAgICogYW5kIHRoZSBpbnZpc2libGUgaW5wdXRzXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBJbnB1dEdyYXBoLmRlcGVuZGVuY2llc09mKG5vZGVJZCkubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgSW5wdXRHcmFwaC5kZXBlbmRhbnRzT2Yobm9kZUlkKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgIGhhcyhjb21wb25lbnRJZCwgZ2V0U3RhdGUoKS5wYXRocylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpbnB1dE5vZGVJZHMucHVzaChub2RlSWQpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZWR1Y2VJbnB1dElkcyhpbnB1dE5vZGVJZHMsIElucHV0R3JhcGgpLmZvckVhY2goaW5wdXRPdXRwdXQgPT4ge1xuICAgICAgICBjb25zdCBbY29tcG9uZW50SWQsIGNvbXBvbmVudFByb3BdID0gaW5wdXRPdXRwdXQuaW5wdXQuc3BsaXQoJy4nKTtcbiAgICAgICAgLy8gR2V0IHRoZSBpbml0aWFsIHByb3BlcnR5XG4gICAgICAgIGNvbnN0IHByb3BMZW5zID0gbGVuc1BhdGgoXG4gICAgICAgICAgICBjb25jYXQoZ2V0U3RhdGUoKS5wYXRoc1tjb21wb25lbnRJZF0sIFsncHJvcHMnLCBjb21wb25lbnRQcm9wXSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcHJvcFZhbHVlID0gdmlldyhwcm9wTGVucywgZ2V0U3RhdGUoKS5sYXlvdXQpO1xuXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgbm90aWZ5T2JzZXJ2ZXJzKHtcbiAgICAgICAgICAgICAgICBpZDogY29tcG9uZW50SWQsXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtbY29tcG9uZW50UHJvcF06IHByb3BWYWx1ZX0sXG4gICAgICAgICAgICAgICAgZXhjbHVkZWRPdXRwdXRzOiBpbnB1dE91dHB1dC5leGNsdWRlZE91dHB1dHMsXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkbygpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oZGlzcGF0Y2gsIGdldFN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGhpc3RvcnkgPSBnZXRTdGF0ZSgpLmhpc3Rvcnk7XG4gICAgICAgIGRpc3BhdGNoKGNyZWF0ZUFjdGlvbignUkVETycpKCkpO1xuICAgICAgICBjb25zdCBuZXh0ID0gaGlzdG9yeS5mdXR1cmVbMF07XG5cbiAgICAgICAgLy8gVXBkYXRlIHByb3BzXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgY3JlYXRlQWN0aW9uKCdSRURPX1BST1BfQ0hBTkdFJykoe1xuICAgICAgICAgICAgICAgIGl0ZW1wYXRoOiBnZXRTdGF0ZSgpLnBhdGhzW25leHQuaWRdLFxuICAgICAgICAgICAgICAgIHByb3BzOiBuZXh0LnByb3BzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBOb3RpZnkgb2JzZXJ2ZXJzXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgbm90aWZ5T2JzZXJ2ZXJzKHtcbiAgICAgICAgICAgICAgICBpZDogbmV4dC5pZCxcbiAgICAgICAgICAgICAgICBwcm9wczogbmV4dC5wcm9wcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZG8oKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGRpc3BhdGNoLCBnZXRTdGF0ZSkge1xuICAgICAgICBjb25zdCBoaXN0b3J5ID0gZ2V0U3RhdGUoKS5oaXN0b3J5O1xuICAgICAgICBkaXNwYXRjaChjcmVhdGVBY3Rpb24oJ1VORE8nKSgpKTtcbiAgICAgICAgY29uc3QgcHJldmlvdXMgPSBoaXN0b3J5LnBhc3RbaGlzdG9yeS5wYXN0Lmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIC8vIFVwZGF0ZSBwcm9wc1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIGNyZWF0ZUFjdGlvbignVU5ET19QUk9QX0NIQU5HRScpKHtcbiAgICAgICAgICAgICAgICBpdGVtcGF0aDogZ2V0U3RhdGUoKS5wYXRoc1twcmV2aW91cy5pZF0sXG4gICAgICAgICAgICAgICAgcHJvcHM6IHByZXZpb3VzLnByb3BzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBOb3RpZnkgb2JzZXJ2ZXJzXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgbm90aWZ5T2JzZXJ2ZXJzKHtcbiAgICAgICAgICAgICAgICBpZDogcHJldmlvdXMuaWQsXG4gICAgICAgICAgICAgICAgcHJvcHM6IHByZXZpb3VzLnByb3BzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiByZWR1Y2VJbnB1dElkcyhub2RlSWRzLCBJbnB1dEdyYXBoKSB7XG4gICAgLypcbiAgICAgKiBDcmVhdGUgaW5wdXQtb3V0cHV0KHMpIHBhaXJzLFxuICAgICAqIHNvcnQgYnkgbnVtYmVyIG9mIG91dHB1dHMsXG4gICAgICogYW5kIHJlbW92ZSByZWR1ZGFudCBpbnB1dHMgKGlucHV0cyB0aGF0IHVwZGF0ZSB0aGUgc2FtZSBvdXRwdXQpXG4gICAgICovXG4gICAgY29uc3QgaW5wdXRPdXRwdXRQYWlycyA9IG5vZGVJZHMubWFwKG5vZGVJZCA9PiAoe1xuICAgICAgICBpbnB1dDogbm9kZUlkLFxuICAgICAgICAvLyBUT0RPIC0gRG9lcyB0aGlzIGluY2x1ZGUgZ3JhbmRjaGlsZHJlbj9cbiAgICAgICAgb3V0cHV0czogSW5wdXRHcmFwaC5kZXBlbmRlbmNpZXNPZihub2RlSWQpLFxuICAgICAgICBleGNsdWRlZE91dHB1dHM6IFtdLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHNvcnRlZElucHV0T3V0cHV0UGFpcnMgPSBzb3J0KFxuICAgICAgICAoYSwgYikgPT4gYi5vdXRwdXRzLmxlbmd0aCAtIGEub3V0cHV0cy5sZW5ndGgsXG4gICAgICAgIGlucHV0T3V0cHV0UGFpcnNcbiAgICApO1xuXG4gICAgLypcbiAgICAgKiBJbiBzb21lIGNhc2VzLCB3ZSBtYXkgaGF2ZSB1bmlxdWUgb3V0cHV0cyBidXQgaW5wdXRzIHRoYXQgY291bGRcbiAgICAgKiB0cmlnZ2VyIGNvbXBvbmVudHMgdG8gdXBkYXRlIG11bHRpcGxlIHRpbWVzLlxuICAgICAqXG4gICAgICogRm9yIGV4YW1wbGUsIFtBLCBCXSA9PiBDIGFuZCBbQSwgRF0gPT4gRVxuICAgICAqIFRoZSB1bmlxdWUgaW5wdXRzIG1pZ2h0IGJlIFtBLCBCLCBEXSBidXQgdGhhdCBpcyByZWR1ZGFudC5cbiAgICAgKiBXZSBvbmx5IG5lZWQgdG8gdXBkYXRlIEIgYW5kIEQgb3IganVzdCBBLlxuICAgICAqXG4gICAgICogSW4gdGhlc2UgY2FzZXMsIHdlJ2xsIHN1cHBseSBhbiBhZGRpdGlvbmFsIGxpc3Qgb2Ygb3V0cHV0c1xuICAgICAqIHRvIGV4Y2x1ZGUuXG4gICAgICovXG4gICAgc29ydGVkSW5wdXRPdXRwdXRQYWlycy5mb3JFYWNoKChwYWlyLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IG91dHB1dHNUaGF0V2lsbEJlVXBkYXRlZCA9IGZsYXR0ZW4oXG4gICAgICAgICAgICBwbHVjaygnb3V0cHV0cycsIHNsaWNlKDAsIGksIHNvcnRlZElucHV0T3V0cHV0UGFpcnMpKVxuICAgICAgICApO1xuICAgICAgICBwYWlyLm91dHB1dHMuZm9yRWFjaChvdXRwdXQgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5zKG91dHB1dCwgb3V0cHV0c1RoYXRXaWxsQmVVcGRhdGVkKSkge1xuICAgICAgICAgICAgICAgIHBhaXIuZXhjbHVkZWRPdXRwdXRzLnB1c2gob3V0cHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc29ydGVkSW5wdXRPdXRwdXRQYWlycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vdGlmeU9ic2VydmVycyhwYXlsb2FkKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGRpc3BhdGNoLCBnZXRTdGF0ZSkge1xuICAgICAgICBjb25zdCB7aWQsIGV2ZW50LCBwcm9wcywgZXhjbHVkZWRPdXRwdXRzfSA9IHBheWxvYWQ7XG5cbiAgICAgICAgY29uc3Qge2dyYXBocywgcmVxdWVzdFF1ZXVlfSA9IGdldFN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHtFdmVudEdyYXBoLCBJbnB1dEdyYXBofSA9IGdyYXBocztcbiAgICAgICAgLypcbiAgICAgICAgICogRmlndXJlIG91dCBhbGwgb2YgdGhlIG91dHB1dCBpZCdzIHRoYXQgZGVwZW5kIG9uIHRoaXNcbiAgICAgICAgICogZXZlbnQgb3IgaW5wdXQuXG4gICAgICAgICAqIFRoaXMgaW5jbHVkZXMgaWQncyB0aGF0IGFyZSBkaXJlY3QgY2hpbGRyZW4gYXMgd2VsbCBhc1xuICAgICAgICAgKiBncmFuZGNoaWxkcmVuLlxuICAgICAgICAgKiBncmFuZGNoaWxkcmVuIHdpbGwgZ2V0IGZpbHRlcmVkIG91dCBpbiBhIGxhdGVyIHN0YWdlLlxuICAgICAgICAgKi9cbiAgICAgICAgbGV0IG91dHB1dE9ic2VydmVycztcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnMgPSBFdmVudEdyYXBoLmRlcGVuZGVuY2llc09mKGAke2lkfS4ke2V2ZW50fWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlZFByb3BzID0ga2V5cyhwcm9wcyk7XG4gICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnMgPSBbXTtcbiAgICAgICAgICAgIGNoYW5nZWRQcm9wcy5mb3JFYWNoKHByb3BOYW1lID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gYCR7aWR9LiR7cHJvcE5hbWV9YDtcbiAgICAgICAgICAgICAgICBpZiAoIUlucHV0R3JhcGguaGFzTm9kZShub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIElucHV0R3JhcGguZGVwZW5kZW5jaWVzT2Yobm9kZSkuZm9yRWFjaChvdXRwdXRJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAqIE11bHRpcGxlIGlucHV0IHByb3BlcnRpZXMgdGhhdCB1cGRhdGUgdGhlIHNhbWVcbiAgICAgICAgICAgICAgICAgICAgICogb3V0cHV0IGNhbiBjaGFuZ2UgYXQgb25jZS5cbiAgICAgICAgICAgICAgICAgICAgICogRm9yIGV4YW1wbGUsIGBuX2NsaWNrc2AgYW5kIGBuX2NsaWNrc19wcmV2aW91c2BcbiAgICAgICAgICAgICAgICAgICAgICogb24gYSBidXR0b24gY29tcG9uZW50LlxuICAgICAgICAgICAgICAgICAgICAgKiBXZSBvbmx5IG5lZWQgdG8gdXBkYXRlIHRoZSBvdXRwdXQgb25jZSBmb3IgdGhpc1xuICAgICAgICAgICAgICAgICAgICAgKiB1cGRhdGUsIHNvIGtlZXAgb3V0cHV0T2JzZXJ2ZXJzIHVuaXF1ZS5cbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIGlmICghY29udGFpbnMob3V0cHV0SWQsIG91dHB1dE9ic2VydmVycykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dE9ic2VydmVycy5wdXNoKG91dHB1dElkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhjbHVkZWRPdXRwdXRzKSB7XG4gICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnMgPSByZWplY3QoXG4gICAgICAgICAgICAgICAgZmxpcChjb250YWlucykoZXhjbHVkZWRPdXRwdXRzKSxcbiAgICAgICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNFbXB0eShvdXRwdXRPYnNlcnZlcnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBUaGVyZSBtYXkgYmUgc2V2ZXJhbCBjb21wb25lbnRzIHRoYXQgZGVwZW5kIG9uIHRoaXMgaW5wdXQuXG4gICAgICAgICAqIEFuZCBzb21lIGNvbXBvbmVudHMgbWF5IGRlcGVuZCBvbiBvdGhlciBjb21wb25lbnRzIGJlZm9yZVxuICAgICAgICAgKiB1cGRhdGluZy4gR2V0IHRoaXMgdXBkYXRlIG9yZGVyIHN0cmFpZ2h0ZW5lZCBvdXQuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkZXBPcmRlciA9IElucHV0R3JhcGgub3ZlcmFsbE9yZGVyKCk7XG4gICAgICAgIG91dHB1dE9ic2VydmVycyA9IHNvcnQoXG4gICAgICAgICAgICAoYSwgYikgPT4gZGVwT3JkZXIuaW5kZXhPZihiKSAtIGRlcE9yZGVyLmluZGV4T2YoYSksXG4gICAgICAgICAgICBvdXRwdXRPYnNlcnZlcnNcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcXVldWVkT2JzZXJ2ZXJzID0gW107XG4gICAgICAgIG91dHB1dE9ic2VydmVycy5mb3JFYWNoKGZ1bmN0aW9uIGZpbHRlck9ic2VydmVycyhvdXRwdXRJZEFuZFByb3ApIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dENvbXBvbmVudElkID0gb3V0cHV0SWRBbmRQcm9wLnNwbGl0KCcuJylbMF07XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBiZWZvcmUgd2UgbWFrZSB0aGUgUE9TVCB0byB1cGRhdGUgdGhlIG91dHB1dCwgY2hlY2tcbiAgICAgICAgICAgICAqIHRoYXQgdGhlIG91dHB1dCBkb2Vzbid0IGRlcGVuZCBvbiBhbnkgb3RoZXIgaW5wdXRzIHRoYXRcbiAgICAgICAgICAgICAqIHRoYXQgZGVwZW5kIG9uIHRoZSBzYW1lIGNvbnRyb2xsZXIuXG4gICAgICAgICAgICAgKiBpZiB0aGUgb3V0cHV0IGhhcyBhbm90aGVyIGlucHV0IHdpdGggYSBzaGFyZWQgY29udHJvbGxlcixcbiAgICAgICAgICAgICAqIHRoZW4gZG9uJ3QgdXBkYXRlIHRoaXMgb3V0cHV0IHlldC5cbiAgICAgICAgICAgICAqIHdoZW4gZWFjaCBkZXBlbmRlbmN5IHVwZGF0ZXMsIGl0J2xsIGRpc3BhdGNoIGl0cyBvd25cbiAgICAgICAgICAgICAqIGBub3RpZnlPYnNlcnZlcnNgIGFjdGlvbiB3aGljaCB3aWxsIGFsbG93IHRoaXNcbiAgICAgICAgICAgICAqIGNvbXBvbmVudCB0byB1cGRhdGUuXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogZm9yIGV4YW1wbGUsIGlmIEEgdXBkYXRlcyBCIGFuZCBDIChBIC0+IFtCLCBDXSkgYW5kIEIgdXBkYXRlcyBDXG4gICAgICAgICAgICAgKiAoQiAtPiBDKSwgdGhlbiB3aGVuIEEgdXBkYXRlcywgdGhpcyBsb2dpYyB3aWxsXG4gICAgICAgICAgICAgKiByZWplY3QgQyBmcm9tIHRoZSBxdWV1ZSBzaW5jZSBpdCB3aWxsIGVuZCB1cCBnZXR0aW5nIHVwZGF0ZWRcbiAgICAgICAgICAgICAqIGJ5IEIuXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogaW4gdGhpcyBjYXNlLCBCIHdpbGwgYWxyZWFkeSBiZSBpbiBxdWV1ZWRPYnNlcnZlcnMgYnkgdGhlIHRpbWVcbiAgICAgICAgICAgICAqIHRoaXMgbG9vcCBoaXRzIEMgYmVjYXVzZSBvZiB0aGUgb3ZlcmFsbE9yZGVyIHNvcnRpbmcgbG9naWNcbiAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAqIGlmIHRoZSBvdXRwdXQganVzdCBsaXN0ZW5zIHRvIGV2ZW50cywgdGhlbiBpdCB3b24ndCBiZSBpblxuICAgICAgICAgICAgICAqIHRoZSBJbnB1dEdyYXBoXG4gICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVycyA9IElucHV0R3JhcGguaGFzTm9kZShvdXRwdXRJZEFuZFByb3ApXG4gICAgICAgICAgICAgICAgPyBJbnB1dEdyYXBoLmRlcGVuZGFudHNPZihvdXRwdXRJZEFuZFByb3ApXG4gICAgICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlcnNJbkZ1dHVyZVF1ZXVlID0gaW50ZXJzZWN0aW9uKFxuICAgICAgICAgICAgICAgIHF1ZXVlZE9ic2VydmVycyxcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIGNoZWNrIHRoYXQgdGhlIG91dHB1dCBoYXNuJ3QgYmVlbiB0cmlnZ2VyZWQgdG8gdXBkYXRlIGFscmVhZHlcbiAgICAgICAgICAgICAqIGJ5IGEgZGlmZmVyZW50IGlucHV0LlxuICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAqIGZvciBleGFtcGxlOlxuICAgICAgICAgICAgICogR3JhbmRwYXJlbnQgLT4gW1BhcmVudCBBLCBQYXJlbnQgQl0gLT4gQ2hpbGRcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiB3aGVuIEdyYW5kcGFyZW50IGNoYW5nZXMsIGl0IHdpbGwgdHJpZ2dlciBQYXJlbnQgQSBhbmQgUGFyZW50IEJcbiAgICAgICAgICAgICAqIHRvIGVhY2ggdXBkYXRlIENoaWxkLlxuICAgICAgICAgICAgICogb25lIG9mIHRoZSBjb21wb25lbnRzIChQYXJlbnQgQSBvciBQYXJlbnQgQikgd2lsbCBxdWV1ZSB1cFxuICAgICAgICAgICAgICogdGhlIGNoYW5nZSBmb3IgQ2hpbGQuIGlmIHRoaXMgdXBkYXRlIGhhcyBhbHJlYWR5IGJlZW4gcXVldWVkIHVwLFxuICAgICAgICAgICAgICogdGhlbiBza2lwIHRoZSB1cGRhdGUgZm9yIHRoZSBvdGhlciBjb21wb25lbnRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlcklzSW5FeGlzdGluZ1F1ZXVlID0gYW55KFxuICAgICAgICAgICAgICAgIHIgPT5cbiAgICAgICAgICAgICAgICAgICAgY29udGFpbnMoci5jb250cm9sbGVySWQsIGNvbnRyb2xsZXJzKSAmJlxuICAgICAgICAgICAgICAgICAgICByLnN0YXR1cyA9PT0gJ2xvYWRpbmcnLFxuICAgICAgICAgICAgICAgIHJlcXVlc3RRdWV1ZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIFRPRE8gLSBQbGFjZSB0aHJvdHRsaW5nIGxvZ2ljIGhlcmU/XG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogT25seSBwcm9jZXNzIHRoZSBsYXN0IHR3byByZXF1ZXN0cyBmb3IgYSBfc2luZ2xlXyBvdXRwdXRcbiAgICAgICAgICAgICAqIGF0IGEgdGltZS5cbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBGb3IgZXhhbXBsZSwgaWYgQSAtPiBCLCBhbmQgQSBpcyBjaGFuZ2VkIDEwIHRpbWVzLCB0aGVuOlxuICAgICAgICAgICAgICogMSAtIHByb2Nlc3NpbmcgdGhlIGZpcnN0IHR3byByZXF1ZXN0c1xuICAgICAgICAgICAgICogMiAtIGlmIG1vcmUgdGhhbiAyIHJlcXVlc3RzIGNvbWUgaW4gd2hpbGUgdGhlIGZpcnN0IHR3b1xuICAgICAgICAgICAgICogICAgIGFyZSBiZWluZyBwcm9jZXNzZWQsIHRoZW4gc2tpcCB1cGRhdGluZyBhbGwgb2YgdGhlXG4gICAgICAgICAgICAgKiAgICAgcmVxdWVzdHMgZXhjZXB0IGZvciB0aGUgbGFzdCAyXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIGFsc28gY2hlY2sgdGhhdCB0aGlzIG9ic2VydmVyIGlzIGFjdHVhbGx5IGluIHRoZSBjdXJyZW50XG4gICAgICAgICAgICAgKiBjb21wb25lbnQgdHJlZS5cbiAgICAgICAgICAgICAqIG9ic2VydmVycyBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGJlIHJlbmRlcmVkIGF0IHRoZSBtb21lbnRcbiAgICAgICAgICAgICAqIG9mIGEgY29udHJvbGxlciBjaGFuZ2UuXG4gICAgICAgICAgICAgKiBmb3IgZXhhbXBsZSwgcGVyaGFwcyB0aGUgdXNlciBoYXMgaGlkZGVuIG9uZSBvZiB0aGUgb2JzZXJ2ZXJzXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyc0luRnV0dXJlUXVldWUubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICAgICAgaGFzKG91dHB1dENvbXBvbmVudElkLCBnZXRTdGF0ZSgpLnBhdGhzKSAmJlxuICAgICAgICAgICAgICAgICFjb250cm9sbGVySXNJbkV4aXN0aW5nUXVldWVcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHF1ZXVlZE9ic2VydmVycy5wdXNoKG91dHB1dElkQW5kUHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qXG4gICAgICAgICAqIHJlY29yZCB0aGUgc2V0IG9mIG91dHB1dCBJRHMgdGhhdCB3aWxsIGV2ZW50dWFsbHkgbmVlZCB0byBiZVxuICAgICAgICAgKiB1cGRhdGVkIGluIGEgcXVldWUuIG5vdCBhbGwgb2YgdGhlc2UgcmVxdWVzdHMgd2lsbCBiZSBmaXJlZCBpbiB0aGlzXG4gICAgICAgICAqIGFjdGlvblxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgbmV3UmVxdWVzdFF1ZXVlID0gcXVldWVkT2JzZXJ2ZXJzLm1hcChpID0+ICh7XG4gICAgICAgICAgICBjb250cm9sbGVySWQ6IGksXG4gICAgICAgICAgICBzdGF0dXM6ICdsb2FkaW5nJyxcbiAgICAgICAgICAgIHVpZDogdWlkKCksXG4gICAgICAgICAgICByZXF1ZXN0VGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgfSkpO1xuICAgICAgICBkaXNwYXRjaChzZXRSZXF1ZXN0UXVldWUoY29uY2F0KHJlcXVlc3RRdWV1ZSwgbmV3UmVxdWVzdFF1ZXVlKSkpO1xuXG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVldWVkT2JzZXJ2ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvdXRwdXRJZEFuZFByb3AgPSBxdWV1ZWRPYnNlcnZlcnNbaV07XG4gICAgICAgICAgICBjb25zdCBbb3V0cHV0Q29tcG9uZW50SWQsIG91dHB1dFByb3BdID0gb3V0cHV0SWRBbmRQcm9wLnNwbGl0KCcuJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RVaWQgPSBuZXdSZXF1ZXN0UXVldWVbaV0udWlkO1xuXG4gICAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgIHVwZGF0ZU91dHB1dChcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0Q29tcG9uZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dFByb3AsXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICBnZXRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVpZCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgY29uc2lzdGVudC1yZXR1cm4gKi9cbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZWNvbnNpc3RlbnQtcmV0dXJuICovXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlT3V0cHV0KFxuICAgIG91dHB1dENvbXBvbmVudElkLFxuICAgIG91dHB1dFByb3AsXG4gICAgZXZlbnQsXG4gICAgZ2V0U3RhdGUsXG4gICAgcmVxdWVzdFVpZCxcbiAgICBkaXNwYXRjaFxuKSB7XG4gICAgY29uc3Qge2NvbmZpZywgbGF5b3V0LCBncmFwaHMsIHBhdGhzLCBkZXBlbmRlbmNpZXNSZXF1ZXN0fSA9IGdldFN0YXRlKCk7XG4gICAgY29uc3Qge0lucHV0R3JhcGh9ID0gZ3JhcGhzO1xuXG4gICAgLypcbiAgICAgKiBDb25zdHJ1Y3QgYSBwYXlsb2FkIG9mIHRoZSBpbnB1dCwgc3RhdGUsIGFuZCBldmVudC5cbiAgICAgKiBGb3IgZXhhbXBsZTpcbiAgICAgKiBJZiB0aGUgaW5wdXQgdHJpZ2dlcmVkIHRoaXMgdXBkYXRlLCB0aGVuOlxuICAgICAqIHtcbiAgICAgKiAgICAgIGlucHV0czogW3snaWQnOiAnaW5wdXQxJywgJ3Byb3BlcnR5JzogJ25ldyB2YWx1ZSd9XSxcbiAgICAgKiAgICAgIHN0YXRlOiBbeydpZCc6ICdzdGF0ZTEnLCAncHJvcGVydHknOiAnZXhpc3RpbmcgdmFsdWUnfV1cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBJZiBhbiBldmVudCB0cmlnZ2VyZWQgdGhpcyB1ZHBhdGUsIHRoZW46XG4gICAgICoge1xuICAgICAqICAgICAgc3RhdGU6IFt7J2lkJzogJ3N0YXRlMScsICdwcm9wZXJ0eSc6ICdleGlzdGluZyB2YWx1ZSd9XSxcbiAgICAgKiAgICAgIGV2ZW50OiB7J2lkJzogJ2dyYXBoJywgJ2V2ZW50JzogJ2NsaWNrJ31cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICBvdXRwdXQ6IHtpZDogb3V0cHV0Q29tcG9uZW50SWQsIHByb3BlcnR5OiBvdXRwdXRQcm9wfSxcbiAgICB9O1xuXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIHBheWxvYWQuZXZlbnQgPSBldmVudDtcbiAgICB9XG5cbiAgICBjb25zdCB7aW5wdXRzLCBzdGF0ZX0gPSBkZXBlbmRlbmNpZXNSZXF1ZXN0LmNvbnRlbnQuZmluZChcbiAgICAgICAgZGVwZW5kZW5jeSA9PlxuICAgICAgICAgICAgZGVwZW5kZW5jeS5vdXRwdXQuaWQgPT09IG91dHB1dENvbXBvbmVudElkICYmXG4gICAgICAgICAgICBkZXBlbmRlbmN5Lm91dHB1dC5wcm9wZXJ0eSA9PT0gb3V0cHV0UHJvcFxuICAgICk7XG4gICAgY29uc3QgdmFsaWRLZXlzID0ga2V5cyhwYXRocyk7XG4gICAgaWYgKGlucHV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBheWxvYWQuaW5wdXRzID0gaW5wdXRzLm1hcChpbnB1dE9iamVjdCA9PiB7XG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpZCBleGlzdHMgaW4gdGhlIGxheW91dFxuICAgICAgICAgICAgaWYgKCFjb250YWlucyhpbnB1dE9iamVjdC5pZCwgdmFsaWRLZXlzKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgJ0FuIGludmFsaWQgaW5wdXQgb2JqZWN0IHdhcyB1c2VkIGluIGFuICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2BJbnB1dGAgb2YgYSBEYXNoIGNhbGxiYWNrLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgaWQgb2YgdGhpcyBvYmplY3QgaXMgYCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRPYmplY3QuaWQgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2AgYW5kIHRoZSBwcm9wZXJ0eSBpcyBgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dE9iamVjdC5wcm9wZXJ0eSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnYC4gVGhlIGxpc3Qgb2YgaWRzIGluIHRoZSBjdXJyZW50IGxheW91dCBpcyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdgWycgK1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRLZXlzLmpvaW4oJywgJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ11gJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwcm9wTGVucyA9IGxlbnNQYXRoKFxuICAgICAgICAgICAgICAgIGNvbmNhdChwYXRoc1tpbnB1dE9iamVjdC5pZF0sIFsncHJvcHMnLCBpbnB1dE9iamVjdC5wcm9wZXJ0eV0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogaW5wdXRPYmplY3QuaWQsXG4gICAgICAgICAgICAgICAgcHJvcGVydHk6IGlucHV0T2JqZWN0LnByb3BlcnR5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2aWV3KHByb3BMZW5zLCBsYXlvdXQpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBheWxvYWQuc3RhdGUgPSBzdGF0ZS5tYXAoc3RhdGVPYmplY3QgPT4ge1xuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaWQgZXhpc3RzIGluIHRoZSBsYXlvdXRcbiAgICAgICAgICAgIGlmICghY29udGFpbnMoc3RhdGVPYmplY3QuaWQsIHZhbGlkS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICdBbiBpbnZhbGlkIGlucHV0IG9iamVjdCB3YXMgdXNlZCBpbiBhICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2BTdGF0ZWAgb2JqZWN0IG9mIGEgRGFzaCBjYWxsYmFjay4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnVGhlIGlkIG9mIHRoaXMgb2JqZWN0IGlzIGAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlT2JqZWN0LmlkICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdgIGFuZCB0aGUgcHJvcGVydHkgaXMgYCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVPYmplY3QucHJvcGVydHkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2AuIFRoZSBsaXN0IG9mIGlkcyBpbiB0aGUgY3VycmVudCBsYXlvdXQgaXMgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnYFsnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkS2V5cy5qb2luKCcsICcpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICddYCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcHJvcExlbnMgPSBsZW5zUGF0aChcbiAgICAgICAgICAgICAgICBjb25jYXQocGF0aHNbc3RhdGVPYmplY3QuaWRdLCBbJ3Byb3BzJywgc3RhdGVPYmplY3QucHJvcGVydHldKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IHN0YXRlT2JqZWN0LmlkLFxuICAgICAgICAgICAgICAgIHByb3BlcnR5OiBzdGF0ZU9iamVjdC5wcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmlldyhwcm9wTGVucywgbGF5b3V0KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBmZXRjaChgJHt1cmxCYXNlKGNvbmZpZyl9X2Rhc2gtdXBkYXRlLWNvbXBvbmVudGAsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAnWC1DU1JGVG9rZW4nOiBjb29raWUucGFyc2UoZG9jdW1lbnQuY29va2llKS5fY3NyZl90b2tlbixcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpLFxuICAgIH0pLnRoZW4oZnVuY3Rpb24gaGFuZGxlUmVzcG9uc2UocmVzKSB7XG4gICAgICAgIGNvbnN0IGdldFRoaXNSZXF1ZXN0SW5kZXggPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3N0UmVxdWVzdFF1ZXVlID0gZ2V0U3RhdGUoKS5yZXF1ZXN0UXVldWU7XG4gICAgICAgICAgICBjb25zdCB0aGlzUmVxdWVzdEluZGV4ID0gZmluZEluZGV4KFxuICAgICAgICAgICAgICAgIHByb3BFcSgndWlkJywgcmVxdWVzdFVpZCksXG4gICAgICAgICAgICAgICAgcG9zdFJlcXVlc3RRdWV1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzUmVxdWVzdEluZGV4O1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHVwZGF0ZVJlcXVlc3RRdWV1ZSA9IHJlamVjdGVkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc3RSZXF1ZXN0UXVldWUgPSBnZXRTdGF0ZSgpLnJlcXVlc3RRdWV1ZTtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNSZXF1ZXN0SW5kZXggPSBnZXRUaGlzUmVxdWVzdEluZGV4KCk7XG4gICAgICAgICAgICBpZiAodGhpc1JlcXVlc3RJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAvLyBJdCB3YXMgYWxyZWFkeSBwcnVuZWQgYXdheVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRRdWV1ZSA9IGFkanVzdChcbiAgICAgICAgICAgICAgICBtZXJnZShfXywge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0ZWQsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGhpc1JlcXVlc3RJbmRleCxcbiAgICAgICAgICAgICAgICBwb3N0UmVxdWVzdFF1ZXVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBzdG9yZSBhbnkgcmVxdWVzdHMgYmVmb3JlIHRoaXMgb25lXG4gICAgICAgICAgICBjb25zdCB0aGlzQ29udHJvbGxlcklkID1cbiAgICAgICAgICAgICAgICBwb3N0UmVxdWVzdFF1ZXVlW3RoaXNSZXF1ZXN0SW5kZXhdLmNvbnRyb2xsZXJJZDtcbiAgICAgICAgICAgIGNvbnN0IHBydW5lZFF1ZXVlID0gdXBkYXRlZFF1ZXVlLmZpbHRlcigocXVldWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIHF1ZXVlSXRlbS5jb250cm9sbGVySWQgIT09IHRoaXNDb250cm9sbGVySWQgfHxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPj0gdGhpc1JlcXVlc3RJbmRleFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZGlzcGF0Y2goc2V0UmVxdWVzdFF1ZXVlKHBydW5lZFF1ZXVlKSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNSZWplY3RlZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhdGVzdFJlcXVlc3RJbmRleCA9IGZpbmRMYXN0SW5kZXgoXG4gICAgICAgICAgICAgICAgLy8gbmV3UmVxdWVzdFF1ZXVlW2ldLmNvbnRyb2xsZXJJZCksXG4gICAgICAgICAgICAgICAgcHJvcEVxKCdjb250cm9sbGVySWQnLCBgJHtvdXRwdXRDb21wb25lbnRJZH0uJHtvdXRwdXRQcm9wfWApLFxuICAgICAgICAgICAgICAgIGdldFN0YXRlKCkucmVxdWVzdFF1ZXVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIE5vdGUgdGhhdCBpZiB0aGUgbGF0ZXN0IHJlcXVlc3QgaXMgc3RpbGwgYGxvYWRpbmdgXG4gICAgICAgICAgICAgKiBvciBldmVuIGlmIHRoZSBsYXRlc3QgcmVxdWVzdCBmYWlsZWQsXG4gICAgICAgICAgICAgKiB3ZSBzdGlsbCByZWplY3QgdGhpcyByZXNwb25zZSBpbiBmYXZvciBvZiB3YWl0aW5nXG4gICAgICAgICAgICAgKiBmb3IgdGhlIGxhdGVzdCByZXF1ZXN0IHRvIGZpbmlzaC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVqZWN0ZWQgPSBsYXRlc3RSZXF1ZXN0SW5kZXggPiBnZXRUaGlzUmVxdWVzdEluZGV4KCk7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0ZWQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgIT09IFNUQVRVUy5PSykge1xuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBzdGF0dXMgb2YgdGhpcyByZXF1ZXN0XG4gICAgICAgICAgICB1cGRhdGVSZXF1ZXN0UXVldWUodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBDaGVjayB0byBzZWUgaWYgYW5vdGhlciByZXF1ZXN0IGhhcyBhbHJlYWR5IGNvbWUgYmFja1xuICAgICAgICAgKiBfYWZ0ZXJfIHRoaXMgb25lLlxuICAgICAgICAgKiBJZiBzbywgaWdub3JlIHRoaXMgcmVxdWVzdC5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChpc1JlamVjdGVkKCkpIHtcbiAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RRdWV1ZSh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcy5qc29uKCkudGhlbihmdW5jdGlvbiBoYW5kbGVKc29uKGRhdGEpIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBFdmVuIGlmIHRoZSBgcmVzYCB3YXMgcmVjZWl2ZWQgaW4gdGhlIGNvcnJlY3Qgb3JkZXIsXG4gICAgICAgICAgICAgKiB0aGUgcmVtYWluZGVyIG9mIHRoZSByZXNwb25zZSAocmVzLmpzb24oKSkgY291bGQgaGFwcGVuXG4gICAgICAgICAgICAgKiBhdCBkaWZmZXJlbnQgcmF0ZXMgY2F1c2luZyB0aGUgcGFyc2VkIHJlc3BvbnNlcyB0b1xuICAgICAgICAgICAgICogZ2V0IG91dCBvZiBvcmRlclxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZiAoaXNSZWplY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFF1ZXVlKHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFF1ZXVlKGZhbHNlKTtcblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIGl0J3MgcG9zc2libGUgdGhhdCB0aGlzIG91dHB1dCBpdGVtIGlzIG5vIGxvbmdlciB2aXNpYmxlLlxuICAgICAgICAgICAgICogZm9yIGV4YW1wbGUsIHRoZSBjb3VsZCBzdGlsbCBiZSByZXF1ZXN0IHJ1bm5pbmcgd2hlblxuICAgICAgICAgICAgICogdGhlIHVzZXIgc3dpdGNoZWQgdGhlIGNoYXB0ZXJcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBpZiBpdCdzIG5vdCB2aXNpYmxlLCB0aGVuIGlnbm9yZSB0aGUgcmVzdCBvZiB0aGUgdXBkYXRlc1xuICAgICAgICAgICAgICogdG8gdGhlIHN0b3JlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICghaGFzKG91dHB1dENvbXBvbmVudElkLCBnZXRTdGF0ZSgpLnBhdGhzKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYW5kIHVwZGF0ZSB0aGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXJVcGRhdGVQYXlsb2FkID0ge1xuICAgICAgICAgICAgICAgIGl0ZW1wYXRoOiBnZXRTdGF0ZSgpLnBhdGhzW291dHB1dENvbXBvbmVudElkXSxcbiAgICAgICAgICAgICAgICAvLyBuZXcgcHJvcCBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgICAgICAgICBwcm9wczogZGF0YS5yZXNwb25zZS5wcm9wcyxcbiAgICAgICAgICAgICAgICBzb3VyY2U6ICdyZXNwb25zZScsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZGlzcGF0Y2godXBkYXRlUHJvcHMob2JzZXJ2ZXJVcGRhdGVQYXlsb2FkKSk7XG5cbiAgICAgICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIG5vdGlmeU9ic2VydmVycyh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBvdXRwdXRDb21wb25lbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGRhdGEucmVzcG9uc2UucHJvcHMsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBJZiB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgY2hpbGRyZW4sIHRoZW4gd2UgbmVlZCB0byB1cGRhdGUgb3VyXG4gICAgICAgICAgICAgKiBwYXRocyBzdG9yZS5cbiAgICAgICAgICAgICAqIFRPRE8gLSBEbyB3ZSBuZWVkIHRvIHdhaXQgZm9yIHVwZGF0ZVByb3BzIHRvIGZpbmlzaD9cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGhhcygnY2hpbGRyZW4nLCBvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMpKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICAgIGNvbXB1dGVQYXRocyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJUcmVlOiBvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZ1BhdGg6IGNvbmNhdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRTdGF0ZSgpLnBhdGhzW291dHB1dENvbXBvbmVudElkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Byb3BzJywgJ2NoaWxkcmVuJ11cbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICogaWYgY2hpbGRyZW4gY29udGFpbnMgb2JqZWN0cyB3aXRoIElEcywgdGhlbiB3ZVxuICAgICAgICAgICAgICAgICAqIG5lZWQgdG8gZGlzcGF0Y2ggYSBwcm9wQ2hhbmdlIGZvciBhbGwgb2YgdGhlc2VcbiAgICAgICAgICAgICAgICAgKiBuZXcgY2hpbGRyZW4gY29tcG9uZW50c1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbnModHlwZShvYnNlcnZlclVwZGF0ZVBheWxvYWQucHJvcHMuY2hpbGRyZW4pLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnQXJyYXknLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ09iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIF0pICYmXG4gICAgICAgICAgICAgICAgICAgICFpc0VtcHR5KG9ic2VydmVyVXBkYXRlUGF5bG9hZC5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICogVE9ETzogV2UncmUganVzdCBuYWl2ZWx5IGNyYXdsaW5nXG4gICAgICAgICAgICAgICAgICAgICAqIHRoZSBfZW50aXJlXyBsYXlvdXQgdG8gcmVjb21wdXRlIHRoZVxuICAgICAgICAgICAgICAgICAgICAgKiB0aGUgZGVwZW5kZW5jeSBncmFwaHMuXG4gICAgICAgICAgICAgICAgICAgICAqIFdlIGRvbid0IG5lZWQgdG8gZG8gdGhpcyAtIGp1c3QgbmVlZFxuICAgICAgICAgICAgICAgICAgICAgKiB0byBjb21wdXRlIHRoZSBzdWJ0cmVlXG4gICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBjcmF3bExheW91dChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyVXBkYXRlUGF5bG9hZC5wcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFwcGVuZElkcyhjaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNJZChjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5cyhjaGlsZC5wcm9wcykuZm9yRWFjaChjaGlsZFByb3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SWRBbmRQcm9wID0gYCR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQucHJvcHMuaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0uJHtjaGlsZFByb3B9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudElkQW5kUHJvcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRHcmFwaC5ub2Rlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Byb3BzW2NvbXBvbmVudElkQW5kUHJvcF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjaGlsZC5wcm9wcy5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGlsZFByb3BdOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzW2NoaWxkUHJvcF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAqIE9yZ2FuaXplIHByb3BzIGJ5IHNoYXJlZCBvdXRwdXRzIHNvIHRoYXQgd2VcbiAgICAgICAgICAgICAgICAgICAgICogb25seSBtYWtlIG9uZSByZXF1ZXN0IHBlciBvdXRwdXQgY29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAqIChldmVuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBpbnB1dHMpLlxuICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgKiBGb3IgZXhhbXBsZSwgd2UgbWlnaHQgcmVuZGVyIDEwIGlucHV0cyB0aGF0IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICogYSBzaW5nbGUgb3V0cHV0LiBJZiB0aGF0IGlzIHRoZSBjYXNlLCB3ZSBvbmx5IHdhbnRcbiAgICAgICAgICAgICAgICAgICAgICogdG8gbWFrZSBhIHNpbmdsZSBjYWxsLCBub3QgMTAgY2FsbHMuXG4gICAgICAgICAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAqIEluIHNvbWUgY2FzZXMsIHRoZSBuZXcgaXRlbSB3aWxsIGJlIGFuIG91dHB1dFxuICAgICAgICAgICAgICAgICAgICAgKiB3aXRoIGl0cyBpbnB1dHMgYWxyZWFkeSByZW5kZXJlZCAobm90IHJlbmRlcmVkKVxuICAgICAgICAgICAgICAgICAgICAgKiBhcyBwYXJ0IG9mIHRoaXMgdXBkYXRlLlxuICAgICAgICAgICAgICAgICAgICAgKiBGb3IgZXhhbXBsZSwgYSB0YWIgd2l0aCBnbG9iYWwgY29udHJvbHMgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgKiByZW5kZXJzIGRpZmZlcmVudCBjb250ZW50IGNvbnRhaW5lcnMgd2l0aG91dCBhbnlcbiAgICAgICAgICAgICAgICAgICAgICogYWRkaXRpb25hbCBpbnB1dHMuXG4gICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgICAgICAqIEluIHRoYXQgY2FzZSwgd2UnbGwgY2FsbCBgdXBkYXRlT3V0cHV0YCB3aXRoIHRoYXQgb3V0cHV0XG4gICAgICAgICAgICAgICAgICAgICAqIGFuZCBqdXN0IFwicHJldGVuZFwiIHRoYXQgb25lIGlmIGl0cyBpbnB1dHMgY2hhbmdlZC5cbiAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICogSWYgd2UgZXZlciBhZGQgbG9naWMgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9uXG4gICAgICAgICAgICAgICAgICAgICAqIFwid2hpY2ggaW5wdXQgY2hhbmdlZFwiLCB3ZSdsbCBoYXZlIHRvIGFjY291bnQgZm9yIHRoaXNcbiAgICAgICAgICAgICAgICAgICAgICogc3BlY2lhbCBjYXNlIChubyBpbnB1dCBjaGFuZ2VkPylcbiAgICAgICAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0SWRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGtleXMobmV3UHJvcHMpLmZvckVhY2goaWRBbmRQcm9wID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGFuIG91dHB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0R3JhcGguZGVwZW5kZW5jaWVzT2YoaWRBbmRQcm9wKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEFuZCBub25lIG9mIGl0cyBpbnB1dHMgYXJlIGdlbmVyYXRlZCBpbiB0aGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyc2VjdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRHcmFwaC5kZXBlbmRhbnRzT2YoaWRBbmRQcm9wKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5cyhuZXdQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0SWRzLnB1c2goaWRBbmRQcm9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3UHJvcHNbaWRBbmRQcm9wXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRGlzcGF0Y2ggdXBkYXRlcyB0byBpbnB1dHNcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVkdWNlZE5vZGVJZHMgPSByZWR1Y2VJbnB1dElkcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXMobmV3UHJvcHMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRHcmFwaFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXBPcmRlciA9IElucHV0R3JhcGgub3ZlcmFsbE9yZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvcnRlZE5ld1Byb3BzID0gc29ydChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcE9yZGVyLmluZGV4T2YoYS5pbnB1dCkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcE9yZGVyLmluZGV4T2YoYi5pbnB1dCksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWR1Y2VkTm9kZUlkc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBzb3J0ZWROZXdQcm9wcy5mb3JFYWNoKGZ1bmN0aW9uKGlucHV0T3V0cHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkID0gbmV3UHJvcHNbaW5wdXRPdXRwdXQuaW5wdXRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5leGNsdWRlZE91dHB1dHMgPSBpbnB1dE91dHB1dC5leGNsdWRlZE91dHB1dHM7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChub3RpZnlPYnNlcnZlcnMocGF5bG9hZCkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBEaXNwYXRjaCB1cGRhdGVzIHRvIGxvbmUgb3V0cHV0c1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXRJZHMuZm9yRWFjaChpZEFuZFByb3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdFVpZCA9IHVpZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVxdWVzdFF1ZXVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyAtIEFyZSB0aGVyZSBhbnkgaW1wbGljYXRpb25zIG9mIGRvaW5nIHRoaXM/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJJZDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdsb2FkaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aWQ6IHJlcXVlc3RVaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFRpbWU6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U3RhdGUoKS5yZXF1ZXN0UXVldWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVPdXRwdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRBbmRQcm9wLnNwbGl0KCcuJylbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRBbmRQcm9wLnNwbGl0KCcuJylbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VWlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKHN0YXRlKSB7XG4gICAgLy8gUmVjb3JkIG1pbmltYWwgaW5wdXQgc3RhdGUgaW4gdGhlIHVybFxuICAgIGNvbnN0IHtncmFwaHMsIHBhdGhzLCBsYXlvdXR9ID0gc3RhdGU7XG4gICAgY29uc3Qge0lucHV0R3JhcGh9ID0gZ3JhcGhzO1xuICAgIGNvbnN0IGFsbE5vZGVzID0gSW5wdXRHcmFwaC5ub2RlcztcbiAgICBjb25zdCBzYXZlZFN0YXRlID0ge307XG4gICAga2V5cyhhbGxOb2RlcykuZm9yRWFjaChub2RlSWQgPT4ge1xuICAgICAgICBjb25zdCBbY29tcG9uZW50SWQsIGNvbXBvbmVudFByb3BdID0gbm9kZUlkLnNwbGl0KCcuJyk7XG4gICAgICAgIC8qXG4gICAgICAgICAqIEZpbHRlciBvdXQgdGhlIG91dHB1dHMsXG4gICAgICAgICAqIGFuZCB0aGUgaW52aXNpYmxlIGlucHV0c1xuICAgICAgICAgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgSW5wdXRHcmFwaC5kZXBlbmRlbmNpZXNPZihub2RlSWQpLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGhhcyhjb21wb25lbnRJZCwgcGF0aHMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgLy8gR2V0IHRoZSBwcm9wZXJ0eVxuICAgICAgICAgICAgY29uc3QgcHJvcExlbnMgPSBsZW5zUGF0aChcbiAgICAgICAgICAgICAgICBjb25jYXQocGF0aHNbY29tcG9uZW50SWRdLCBbJ3Byb3BzJywgY29tcG9uZW50UHJvcF0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgcHJvcFZhbHVlID0gdmlldyhwcm9wTGVucywgbGF5b3V0KTtcbiAgICAgICAgICAgIHNhdmVkU3RhdGVbbm9kZUlkXSA9IHByb3BWYWx1ZTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNhdmVkU3RhdGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/actions/index.js\n"); /***/ }), @@ -5294,7 +5258,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar any = _ramda.any;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar Component = _react.Component;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* global document:true */\n\nvar DocumentTitle = function (_Component) {\n _inherits(DocumentTitle, _Component);\n\n function DocumentTitle(props) {\n _classCallCheck(this, DocumentTitle);\n\n var _this = _possibleConstructorReturn(this, (DocumentTitle.__proto__ || Object.getPrototypeOf(DocumentTitle)).call(this, props));\n\n _this.state = {\n initialTitle: document.title\n };\n return _this;\n }\n\n _createClass(DocumentTitle, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n if (any(function (r) {\n return r.status === 'loading';\n }, props.requestQueue)) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return DocumentTitle;\n}(Component);\n\nDocumentTitle.propTypes = {\n requestQueue: PropTypes.array.isRequired\n};\n\nexports.default = connect(function (state) {\n return {\n requestQueue: state.requestQueue\n };\n})(DocumentTitle);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Eb2N1bWVudFRpdGxlLnJlYWN0LmpzPzcxYzAiXSwibmFtZXMiOlsiY29ubmVjdCIsImFueSIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIkRvY3VtZW50VGl0bGUiLCJwcm9wcyIsInN0YXRlIiwiaW5pdGlhbFRpdGxlIiwiZG9jdW1lbnQiLCJ0aXRsZSIsInIiLCJzdGF0dXMiLCJyZXF1ZXN0UXVldWUiLCJwcm9wVHlwZXMiLCJhcnJheSIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUE7O0lBQVFBLE8sZUFBQUEsTzs7QUFDUjs7SUFBUUMsRyxVQUFBQSxHOztBQUNSOztJQUFRQyxTLFVBQUFBLFM7O0FBQ1I7O0lBQU9DLFM7Ozs7Ozs7OytlQUxQOztJQU9NQyxhOzs7QUFDRiwyQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBLGtJQUNUQSxLQURTOztBQUVmLGNBQUtDLEtBQUwsR0FBYTtBQUNUQywwQkFBY0MsU0FBU0M7QUFEZCxTQUFiO0FBRmU7QUFLbEI7Ozs7a0RBRXlCSixLLEVBQU87QUFDN0IsZ0JBQUlKLElBQUk7QUFBQSx1QkFBS1MsRUFBRUMsTUFBRixLQUFhLFNBQWxCO0FBQUEsYUFBSixFQUFpQ04sTUFBTU8sWUFBdkMsQ0FBSixFQUEwRDtBQUN0REoseUJBQVNDLEtBQVQsR0FBaUIsYUFBakI7QUFDSCxhQUZELE1BRU87QUFDSEQseUJBQVNDLEtBQVQsR0FBaUIsS0FBS0gsS0FBTCxDQUFXQyxZQUE1QjtBQUNIO0FBQ0o7OztnREFFdUI7QUFDcEIsbUJBQU8sS0FBUDtBQUNIOzs7aUNBRVE7QUFDTCxtQkFBTyxJQUFQO0FBQ0g7Ozs7RUF0QnVCTCxTOztBQXlCNUJFLGNBQWNTLFNBQWQsR0FBMEI7QUFDdEJELGtCQUFjVCxVQUFVVyxLQUFWLENBQWdCQztBQURSLENBQTFCOztrQkFJZWYsUUFDWDtBQUFBLFdBQVU7QUFDTlksc0JBQWNOLE1BQU1NO0FBRGQsS0FBVjtBQUFBLENBRFcsRUFJYlIsYUFKYSxDIiwiZmlsZSI6Ii4vc3JjL2NvbXBvbmVudHMvY29yZS9Eb2N1bWVudFRpdGxlLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGRvY3VtZW50OnRydWUgKi9cclxuXHJcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCB7YW55fSBmcm9tICdyYW1kYSdcclxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xyXG5cclxuY2xhc3MgRG9jdW1lbnRUaXRsZSBleHRlbmRzIENvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBpbml0aWFsVGl0bGU6IGRvY3VtZW50LnRpdGxlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHByb3BzKSB7XHJcbiAgICAgICAgaWYgKGFueShyID0+IHIuc3RhdHVzID09PSAnbG9hZGluZycsIHByb3BzLnJlcXVlc3RRdWV1ZSkpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSAnVXBkYXRpbmcuLi4nO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5zdGF0ZS5pbml0aWFsVGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcblxyXG5Eb2N1bWVudFRpdGxlLnByb3BUeXBlcyA9IHtcclxuICAgIHJlcXVlc3RRdWV1ZTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWRcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QoXHJcbiAgICBzdGF0ZSA9PiAoe1xyXG4gICAgICAgIHJlcXVlc3RRdWV1ZTogc3RhdGUucmVxdWVzdFF1ZXVlXHJcbiAgICB9KVxyXG4pKERvY3VtZW50VGl0bGUpO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/core/DocumentTitle.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* global document:true */\n\nvar DocumentTitle = function (_Component) {\n _inherits(DocumentTitle, _Component);\n\n function DocumentTitle(props) {\n _classCallCheck(this, DocumentTitle);\n\n var _this = _possibleConstructorReturn(this, (DocumentTitle.__proto__ || Object.getPrototypeOf(DocumentTitle)).call(this, props));\n\n _this.state = {\n initialTitle: document.title\n };\n return _this;\n }\n\n _createClass(DocumentTitle, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n if ((0, _ramda.any)(function (r) {\n return r.status === 'loading';\n }, props.requestQueue)) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return DocumentTitle;\n}(_react.Component);\n\nDocumentTitle.propTypes = {\n requestQueue: _propTypes2.default.array.isRequired\n};\n\nexports.default = (0, _reactRedux.connect)(function (state) {\n return {\n requestQueue: state.requestQueue\n };\n})(DocumentTitle);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Eb2N1bWVudFRpdGxlLnJlYWN0LmpzPzcxYzAiXSwibmFtZXMiOlsiRG9jdW1lbnRUaXRsZSIsInByb3BzIiwic3RhdGUiLCJpbml0aWFsVGl0bGUiLCJkb2N1bWVudCIsInRpdGxlIiwiciIsInN0YXR1cyIsInJlcXVlc3RRdWV1ZSIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OzsrZUFMQTs7SUFPTUEsYTs7O0FBQ0YsMkJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSxrSUFDVEEsS0FEUzs7QUFFZixjQUFLQyxLQUFMLEdBQWE7QUFDVEMsMEJBQWNDLFNBQVNDO0FBRGQsU0FBYjtBQUZlO0FBS2xCOzs7O2tEQUV5QkosSyxFQUFPO0FBQzdCLGdCQUFJLGdCQUFJO0FBQUEsdUJBQUtLLEVBQUVDLE1BQUYsS0FBYSxTQUFsQjtBQUFBLGFBQUosRUFBaUNOLE1BQU1PLFlBQXZDLENBQUosRUFBMEQ7QUFDdERKLHlCQUFTQyxLQUFULEdBQWlCLGFBQWpCO0FBQ0gsYUFGRCxNQUVPO0FBQ0hELHlCQUFTQyxLQUFULEdBQWlCLEtBQUtILEtBQUwsQ0FBV0MsWUFBNUI7QUFDSDtBQUNKOzs7Z0RBRXVCO0FBQ3BCLG1CQUFPLEtBQVA7QUFDSDs7O2lDQUVRO0FBQ0wsbUJBQU8sSUFBUDtBQUNIOzs7O0VBdEJ1Qk0sZ0I7O0FBeUI1QlQsY0FBY1UsU0FBZCxHQUEwQjtBQUN0QkYsa0JBQWNHLG9CQUFVQyxLQUFWLENBQWdCQztBQURSLENBQTFCOztrQkFJZSx5QkFDWDtBQUFBLFdBQVU7QUFDTkwsc0JBQWNOLE1BQU1NO0FBRGQsS0FBVjtBQUFBLENBRFcsRUFJYlIsYUFKYSxDIiwiZmlsZSI6Ii4vc3JjL2NvbXBvbmVudHMvY29yZS9Eb2N1bWVudFRpdGxlLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGRvY3VtZW50OnRydWUgKi9cblxuaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7YW55fSBmcm9tICdyYW1kYSdcbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCdcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNsYXNzIERvY3VtZW50VGl0bGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGluaXRpYWxUaXRsZTogZG9jdW1lbnQudGl0bGVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHByb3BzKSB7XG4gICAgICAgIGlmIChhbnkociA9PiByLnN0YXR1cyA9PT0gJ2xvYWRpbmcnLCBwcm9wcy5yZXF1ZXN0UXVldWUpKSB7XG4gICAgICAgICAgICBkb2N1bWVudC50aXRsZSA9ICdVcGRhdGluZy4uLic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMuc3RhdGUuaW5pdGlhbFRpdGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbkRvY3VtZW50VGl0bGUucHJvcFR5cGVzID0ge1xuICAgIHJlcXVlc3RRdWV1ZTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QoXG4gICAgc3RhdGUgPT4gKHtcbiAgICAgICAgcmVxdWVzdFF1ZXVlOiBzdGF0ZS5yZXF1ZXN0UXVldWVcbiAgICB9KVxuKShEb2N1bWVudFRpdGxlKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/core/DocumentTitle.react.js\n"); /***/ }), @@ -5306,7 +5270,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar any = _ramda.any;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Loading(props) {\n if (any(function (r) {\n return r.status === 'loading';\n }, props.requestQueue)) {\n return React.createElement('div', { className: '_dash-loading-callback' });\n } else {\n return null;\n }\n}\n\nLoading.propTypes = {\n requestQueue: PropTypes.array.isRequired\n};\n\nexports.default = connect(function (state) {\n return {\n requestQueue: state.requestQueue\n };\n})(Loading);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Mb2FkaW5nLnJlYWN0LmpzPzY4NTYiXSwibmFtZXMiOlsiY29ubmVjdCIsImFueSIsIlJlYWN0IiwiUHJvcFR5cGVzIiwiTG9hZGluZyIsInByb3BzIiwiciIsInN0YXR1cyIsInJlcXVlc3RRdWV1ZSIsInByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7SUFBUUEsTyxlQUFBQSxPOztBQUNSOztJQUFRQyxHLFVBQUFBLEc7O0FBQ1I7O0lBQU9DLEs7O0FBQ1A7O0lBQU9DLFM7Ozs7QUFFUCxTQUFTQyxPQUFULENBQWlCQyxLQUFqQixFQUF3QjtBQUNwQixRQUFJSixJQUFJO0FBQUEsZUFBS0ssRUFBRUMsTUFBRixLQUFhLFNBQWxCO0FBQUEsS0FBSixFQUFpQ0YsTUFBTUcsWUFBdkMsQ0FBSixFQUEwRDtBQUN0RCxlQUNJLDZCQUFLLFdBQVUsd0JBQWYsR0FESjtBQUdILEtBSkQsTUFJTztBQUNILGVBQU8sSUFBUDtBQUNIO0FBQ0o7O0FBRURKLFFBQVFLLFNBQVIsR0FBb0I7QUFDaEJELGtCQUFjTCxVQUFVTyxLQUFWLENBQWdCQztBQURkLENBQXBCOztrQkFJZVgsUUFDWDtBQUFBLFdBQVU7QUFDTlEsc0JBQWNJLE1BQU1KO0FBRGQsS0FBVjtBQUFBLENBRFcsRUFJYkosT0FKYSxDIiwiZmlsZSI6Ii4vc3JjL2NvbXBvbmVudHMvY29yZS9Mb2FkaW5nLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHthbnl9IGZyb20gJ3JhbWRhJ1xyXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXHJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XHJcblxyXG5mdW5jdGlvbiBMb2FkaW5nKHByb3BzKSB7XHJcbiAgICBpZiAoYW55KHIgPT4gci5zdGF0dXMgPT09ICdsb2FkaW5nJywgcHJvcHMucmVxdWVzdFF1ZXVlKSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiX2Rhc2gtbG9hZGluZy1jYWxsYmFja1wiLz5cclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG5cclxuTG9hZGluZy5wcm9wVHlwZXMgPSB7XHJcbiAgICByZXF1ZXN0UXVldWU6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KFxyXG4gICAgc3RhdGUgPT4gKHtcclxuICAgICAgICByZXF1ZXN0UXVldWU6IHN0YXRlLnJlcXVlc3RRdWV1ZVxyXG4gICAgfSlcclxuKShMb2FkaW5nKTtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/core/Loading.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction Loading(props) {\n if ((0, _ramda.any)(function (r) {\n return r.status === 'loading';\n }, props.requestQueue)) {\n return _react2.default.createElement('div', { className: '_dash-loading-callback' });\n }\n return null;\n}\n\nLoading.propTypes = {\n requestQueue: _propTypes2.default.array.isRequired\n};\n\nexports.default = (0, _reactRedux.connect)(function (state) {\n return {\n requestQueue: state.requestQueue\n };\n})(Loading);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Mb2FkaW5nLnJlYWN0LmpzPzY4NTYiXSwibmFtZXMiOlsiTG9hZGluZyIsInByb3BzIiwiciIsInN0YXR1cyIsInJlcXVlc3RRdWV1ZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxPQUFULENBQWlCQyxLQUFqQixFQUF3QjtBQUNwQixRQUFJLGdCQUFJO0FBQUEsZUFBS0MsRUFBRUMsTUFBRixLQUFhLFNBQWxCO0FBQUEsS0FBSixFQUFpQ0YsTUFBTUcsWUFBdkMsQ0FBSixFQUEwRDtBQUN0RCxlQUNJLHVDQUFLLFdBQVUsd0JBQWYsR0FESjtBQUdIO0FBQ0csV0FBTyxJQUFQO0FBRVA7O0FBRURKLFFBQVFLLFNBQVIsR0FBb0I7QUFDaEJELGtCQUFjRSxvQkFBVUMsS0FBVixDQUFnQkM7QUFEZCxDQUFwQjs7a0JBSWUseUJBQ1g7QUFBQSxXQUFVO0FBQ05KLHNCQUFjSyxNQUFNTDtBQURkLEtBQVY7QUFBQSxDQURXLEVBSWJKLE9BSmEsQyIsImZpbGUiOiIuL3NyYy9jb21wb25lbnRzL2NvcmUvTG9hZGluZy5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQge2FueX0gZnJvbSAncmFtZGEnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5mdW5jdGlvbiBMb2FkaW5nKHByb3BzKSB7XG4gICAgaWYgKGFueShyID0+IHIuc3RhdHVzID09PSAnbG9hZGluZycsIHByb3BzLnJlcXVlc3RRdWV1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiX2Rhc2gtbG9hZGluZy1jYWxsYmFja1wiLz5cbiAgICAgICAgKTtcbiAgICB9IFxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBcbn1cblxuTG9hZGluZy5wcm9wVHlwZXMgPSB7XG4gICAgcmVxdWVzdFF1ZXVlOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29ubmVjdChcbiAgICBzdGF0ZSA9PiAoe1xuICAgICAgICByZXF1ZXN0UXVldWU6IHN0YXRlLnJlcXVlc3RRdWV1ZVxuICAgIH0pXG4pKExvYWRpbmcpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/core/Loading.react.js\n"); /***/ }), @@ -5318,7 +5282,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar isEmpty = _ramda.isEmpty;\n\nvar _actions = __webpack_require__(/*! ../../actions */ \"./src/actions/index.js\");\n\nvar notifyObservers = _actions.notifyObservers;\nvar updateProps = _actions.updateProps;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n * NotifyObservers passes a connected `setProps` handler down to\r\n * its child as a prop\r\n */\n\nfunction mapStateToProps(state) {\n return {\n dependencies: state.dependenciesRequest.content,\n paths: state.paths\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n}\n\nfunction mergeProps(stateProps, dispatchProps, ownProps) {\n var dispatch = dispatchProps.dispatch;\n\n return {\n id: ownProps.id,\n children: ownProps.children,\n dependencies: stateProps.dependencies,\n paths: stateProps.paths,\n\n fireEvent: function fireEvent(_ref) {\n var event = _ref.event;\n\n // Update this component's observers with the updated props\n dispatch(notifyObservers({ event: event, id: ownProps.id }));\n },\n\n setProps: function setProps(newProps) {\n var payload = {\n props: newProps,\n id: ownProps.id,\n itempath: stateProps.paths[ownProps.id]\n };\n\n // Update this component's props\n dispatch(updateProps(payload));\n\n // Update output components that depend on this input\n dispatch(notifyObservers({ id: ownProps.id, props: newProps }));\n }\n };\n}\n\nfunction NotifyObserversComponent(_ref2) {\n var children = _ref2.children,\n id = _ref2.id,\n paths = _ref2.paths,\n dependencies = _ref2.dependencies,\n fireEvent = _ref2.fireEvent,\n setProps = _ref2.setProps;\n\n var thisComponentTriggersEvents = dependencies && dependencies.find(function (dependency) {\n return dependency.events.find(function (event) {\n return event.id === id;\n });\n });\n var thisComponentSharesState = dependencies && dependencies.find(function (dependency) {\n return dependency.inputs.find(function (input) {\n return input.id === id;\n }) || dependency.state.find(function (state) {\n return state.id === id;\n });\n });\n /*\r\n * Only pass in `setProps` and `fireEvent` if they are actually\r\n * necessary.\r\n * This allows component authors to skip computing data\r\n * for `setProps` or `fireEvent` (which can be expensive)\r\n * in the case when they aren't actually used.\r\n * For example, consider `hoverData` for graphs. If it isn't\r\n * actually used, then the component author can skip binding\r\n * the events for the component.\r\n *\r\n * TODO - A nice enhancement would be to pass in the actual events\r\n * and properties that are used into the component so that the\r\n * component author can check for something like `subscribed_events`\r\n * or `subscribed_properties` instead of `fireEvent` and `setProps`.\r\n */\n var extraProps = {};\n if (thisComponentSharesState &&\n\n // there is a bug with graphs right now where\n // the restyle listener gets assigned with a\n // setProps function that was created before\n // the item was added. only pass in setProps\n // if the item's path exists for now.\n paths[id]) {\n extraProps.setProps = setProps;\n }\n if (thisComponentTriggersEvents && paths[id]) {\n extraProps.fireEvent = fireEvent;\n }\n\n if (!isEmpty(extraProps)) {\n return React.cloneElement(children, extraProps);\n } else {\n return children;\n }\n}\n\nNotifyObserversComponent.propTypes = {\n id: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n path: PropTypes.array.isRequired\n};\n\nexports.default = connect(mapStateToProps, mapDispatchToProps, mergeProps)(NotifyObserversComponent);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Ob3RpZnlPYnNlcnZlcnMucmVhY3QuanM/NzkyNCJdLCJuYW1lcyI6WyJjb25uZWN0IiwiaXNFbXB0eSIsIm5vdGlmeU9ic2VydmVycyIsInVwZGF0ZVByb3BzIiwiUmVhY3QiLCJQcm9wVHlwZXMiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImRlcGVuZGVuY2llcyIsImRlcGVuZGVuY2llc1JlcXVlc3QiLCJjb250ZW50IiwicGF0aHMiLCJtYXBEaXNwYXRjaFRvUHJvcHMiLCJkaXNwYXRjaCIsIm1lcmdlUHJvcHMiLCJzdGF0ZVByb3BzIiwiZGlzcGF0Y2hQcm9wcyIsIm93blByb3BzIiwiaWQiLCJjaGlsZHJlbiIsImZpcmVFdmVudCIsImV2ZW50Iiwic2V0UHJvcHMiLCJuZXdQcm9wcyIsInBheWxvYWQiLCJwcm9wcyIsIml0ZW1wYXRoIiwiTm90aWZ5T2JzZXJ2ZXJzQ29tcG9uZW50IiwidGhpc0NvbXBvbmVudFRyaWdnZXJzRXZlbnRzIiwiZmluZCIsImRlcGVuZGVuY3kiLCJldmVudHMiLCJ0aGlzQ29tcG9uZW50U2hhcmVzU3RhdGUiLCJpbnB1dHMiLCJpbnB1dCIsImV4dHJhUHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwibm9kZSIsInBhdGgiLCJhcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBQVFBLE8sZUFBQUEsTzs7QUFDUjs7SUFBUUMsTyxVQUFBQSxPOztBQUNSOztJQUFRQyxlLFlBQUFBLGU7SUFBaUJDLFcsWUFBQUEsVzs7QUFDekI7O0lBQU9DLEs7O0FBQ1A7O0lBQU9DLFM7Ozs7QUFFUDs7Ozs7QUFLQSxTQUFTQyxlQUFULENBQTBCQyxLQUExQixFQUFpQztBQUM3QixXQUFPO0FBQ0hDLHNCQUFjRCxNQUFNRSxtQkFBTixDQUEwQkMsT0FEckM7QUFFSEMsZUFBT0osTUFBTUk7QUFGVixLQUFQO0FBSUg7O0FBRUQsU0FBU0Msa0JBQVQsQ0FBNkJDLFFBQTdCLEVBQXVDO0FBQ25DLFdBQU8sRUFBQ0Esa0JBQUQsRUFBUDtBQUNIOztBQUVELFNBQVNDLFVBQVQsQ0FBb0JDLFVBQXBCLEVBQWdDQyxhQUFoQyxFQUErQ0MsUUFBL0MsRUFBeUQ7QUFBQSxRQUM5Q0osUUFEOEMsR0FDbENHLGFBRGtDLENBQzlDSCxRQUQ4Qzs7QUFFckQsV0FBTztBQUNISyxZQUFJRCxTQUFTQyxFQURWO0FBRUhDLGtCQUFVRixTQUFTRSxRQUZoQjtBQUdIWCxzQkFBY08sV0FBV1AsWUFIdEI7QUFJSEcsZUFBT0ksV0FBV0osS0FKZjs7QUFNSFMsbUJBQVcsU0FBU0EsU0FBVCxPQUE0QjtBQUFBLGdCQUFSQyxLQUFRLFFBQVJBLEtBQVE7O0FBQ25DO0FBQ0FSLHFCQUFTWCxnQkFBZ0IsRUFBQ21CLFlBQUQsRUFBUUgsSUFBSUQsU0FBU0MsRUFBckIsRUFBaEIsQ0FBVDtBQUNILFNBVEU7O0FBV0hJLGtCQUFVLFNBQVNBLFFBQVQsQ0FBa0JDLFFBQWxCLEVBQTRCO0FBQ2xDLGdCQUFNQyxVQUFVO0FBQ1pDLHVCQUFPRixRQURLO0FBRVpMLG9CQUFJRCxTQUFTQyxFQUZEO0FBR1pRLDBCQUFVWCxXQUFXSixLQUFYLENBQWlCTSxTQUFTQyxFQUExQjtBQUhFLGFBQWhCOztBQU1BO0FBQ0FMLHFCQUFTVixZQUFZcUIsT0FBWixDQUFUOztBQUVBO0FBQ0FYLHFCQUFTWCxnQkFBZ0IsRUFBQ2dCLElBQUlELFNBQVNDLEVBQWQsRUFBa0JPLE9BQU9GLFFBQXpCLEVBQWhCLENBQVQ7QUFDSDtBQXZCRSxLQUFQO0FBMEJIOztBQUVELFNBQVNJLHdCQUFULFFBU0c7QUFBQSxRQVJDUixRQVFELFNBUkNBLFFBUUQ7QUFBQSxRQVBDRCxFQU9ELFNBUENBLEVBT0Q7QUFBQSxRQU5DUCxLQU1ELFNBTkNBLEtBTUQ7QUFBQSxRQUpDSCxZQUlELFNBSkNBLFlBSUQ7QUFBQSxRQUZDWSxTQUVELFNBRkNBLFNBRUQ7QUFBQSxRQURDRSxRQUNELFNBRENBLFFBQ0Q7O0FBQ0MsUUFBTU0sOEJBQ0ZwQixnQkFBZ0JBLGFBQWFxQixJQUFiLENBQWtCO0FBQUEsZUFDOUJDLFdBQVdDLE1BQVgsQ0FBa0JGLElBQWxCLENBQXVCO0FBQUEsbUJBQVNSLE1BQU1ILEVBQU4sS0FBYUEsRUFBdEI7QUFBQSxTQUF2QixDQUQ4QjtBQUFBLEtBQWxCLENBRHBCO0FBS0EsUUFBTWMsMkJBQ0Z4QixnQkFBZ0JBLGFBQWFxQixJQUFiLENBQWtCO0FBQUEsZUFDOUJDLFdBQVdHLE1BQVgsQ0FBa0JKLElBQWxCLENBQXVCO0FBQUEsbUJBQVNLLE1BQU1oQixFQUFOLEtBQWFBLEVBQXRCO0FBQUEsU0FBdkIsS0FDQVksV0FBV3ZCLEtBQVgsQ0FBaUJzQixJQUFqQixDQUFzQjtBQUFBLG1CQUFTdEIsTUFBTVcsRUFBTixLQUFhQSxFQUF0QjtBQUFBLFNBQXRCLENBRjhCO0FBQUEsS0FBbEIsQ0FEcEI7QUFNQTs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsUUFBTWlCLGFBQWEsRUFBbkI7QUFDQSxRQUFJSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FyQixVQUFNTyxFQUFOLENBUEosRUFRRTtBQUNFaUIsbUJBQVdiLFFBQVgsR0FBc0JBLFFBQXRCO0FBQ0g7QUFDRCxRQUFJTSwrQkFBK0JqQixNQUFNTyxFQUFOLENBQW5DLEVBQThDO0FBQzFDaUIsbUJBQVdmLFNBQVgsR0FBdUJBLFNBQXZCO0FBQ0g7O0FBRUQsUUFBSSxDQUFDbkIsUUFBUWtDLFVBQVIsQ0FBTCxFQUEwQjtBQUN0QixlQUFPL0IsTUFBTWdDLFlBQU4sQ0FBbUJqQixRQUFuQixFQUE2QmdCLFVBQTdCLENBQVA7QUFDSCxLQUZELE1BRU87QUFDSCxlQUFPaEIsUUFBUDtBQUNIO0FBQ0o7O0FBRURRLHlCQUF5QlUsU0FBekIsR0FBcUM7QUFDakNuQixRQUFJYixVQUFVaUMsTUFBVixDQUFpQkMsVUFEWTtBQUVqQ3BCLGNBQVVkLFVBQVVtQyxJQUFWLENBQWVELFVBRlE7QUFHakNFLFVBQU1wQyxVQUFVcUMsS0FBVixDQUFnQkg7QUFIVyxDQUFyQzs7a0JBTWV2QyxRQUNYTSxlQURXLEVBRVhNLGtCQUZXLEVBR1hFLFVBSFcsRUFJYmEsd0JBSmEsQyIsImZpbGUiOiIuL3NyYy9jb21wb25lbnRzL2NvcmUvTm90aWZ5T2JzZXJ2ZXJzLnJlYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCc7XHJcbmltcG9ydCB7aXNFbXB0eX0gZnJvbSAncmFtZGEnO1xyXG5pbXBvcnQge25vdGlmeU9ic2VydmVycywgdXBkYXRlUHJvcHN9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xyXG5cclxuLypcclxuICogTm90aWZ5T2JzZXJ2ZXJzIHBhc3NlcyBhIGNvbm5lY3RlZCBgc2V0UHJvcHNgIGhhbmRsZXIgZG93biB0b1xyXG4gKiBpdHMgY2hpbGQgYXMgYSBwcm9wXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzIChzdGF0ZSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBkZXBlbmRlbmNpZXM6IHN0YXRlLmRlcGVuZGVuY2llc1JlcXVlc3QuY29udGVudCxcclxuICAgICAgICBwYXRoczogc3RhdGUucGF0aHNcclxuICAgIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyAoZGlzcGF0Y2gpIHtcclxuICAgIHJldHVybiB7ZGlzcGF0Y2h9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XHJcbiAgICBjb25zdCB7ZGlzcGF0Y2h9ID0gZGlzcGF0Y2hQcm9wcztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IG93blByb3BzLmlkLFxyXG4gICAgICAgIGNoaWxkcmVuOiBvd25Qcm9wcy5jaGlsZHJlbixcclxuICAgICAgICBkZXBlbmRlbmNpZXM6IHN0YXRlUHJvcHMuZGVwZW5kZW5jaWVzLFxyXG4gICAgICAgIHBhdGhzOiBzdGF0ZVByb3BzLnBhdGhzLFxyXG5cclxuICAgICAgICBmaXJlRXZlbnQ6IGZ1bmN0aW9uIGZpcmVFdmVudCh7ZXZlbnR9KSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGlzIGNvbXBvbmVudCdzIG9ic2VydmVycyB3aXRoIHRoZSB1cGRhdGVkIHByb3BzXHJcbiAgICAgICAgICAgIGRpc3BhdGNoKG5vdGlmeU9ic2VydmVycyh7ZXZlbnQsIGlkOiBvd25Qcm9wcy5pZH0pKTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBzZXRQcm9wczogZnVuY3Rpb24gc2V0UHJvcHMobmV3UHJvcHMpIHtcclxuICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgICAgICAgICAgIHByb3BzOiBuZXdQcm9wcyxcclxuICAgICAgICAgICAgICAgIGlkOiBvd25Qcm9wcy5pZCxcclxuICAgICAgICAgICAgICAgIGl0ZW1wYXRoOiBzdGF0ZVByb3BzLnBhdGhzW293blByb3BzLmlkXVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgLy8gVXBkYXRlIHRoaXMgY29tcG9uZW50J3MgcHJvcHNcclxuICAgICAgICAgICAgZGlzcGF0Y2godXBkYXRlUHJvcHMocGF5bG9hZCkpO1xyXG5cclxuICAgICAgICAgICAgLy8gVXBkYXRlIG91dHB1dCBjb21wb25lbnRzIHRoYXQgZGVwZW5kIG9uIHRoaXMgaW5wdXRcclxuICAgICAgICAgICAgZGlzcGF0Y2gobm90aWZ5T2JzZXJ2ZXJzKHtpZDogb3duUHJvcHMuaWQsIHByb3BzOiBuZXdQcm9wc30pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiBOb3RpZnlPYnNlcnZlcnNDb21wb25lbnQgKHtcclxuICAgIGNoaWxkcmVuLFxyXG4gICAgaWQsXHJcbiAgICBwYXRocyxcclxuXHJcbiAgICBkZXBlbmRlbmNpZXMsXHJcblxyXG4gICAgZmlyZUV2ZW50LFxyXG4gICAgc2V0UHJvcHNcclxufSkge1xyXG4gICAgY29uc3QgdGhpc0NvbXBvbmVudFRyaWdnZXJzRXZlbnRzID0gKFxyXG4gICAgICAgIGRlcGVuZGVuY2llcyAmJiBkZXBlbmRlbmNpZXMuZmluZChkZXBlbmRlbmN5ID0+IChcclxuICAgICAgICAgICAgZGVwZW5kZW5jeS5ldmVudHMuZmluZChldmVudCA9PiBldmVudC5pZCA9PT0gaWQpXHJcbiAgICAgICAgKSlcclxuICAgICk7XHJcbiAgICBjb25zdCB0aGlzQ29tcG9uZW50U2hhcmVzU3RhdGUgPSAoXHJcbiAgICAgICAgZGVwZW5kZW5jaWVzICYmIGRlcGVuZGVuY2llcy5maW5kKGRlcGVuZGVuY3kgPT4gKFxyXG4gICAgICAgICAgICBkZXBlbmRlbmN5LmlucHV0cy5maW5kKGlucHV0ID0+IGlucHV0LmlkID09PSBpZCkgfHxcclxuICAgICAgICAgICAgZGVwZW5kZW5jeS5zdGF0ZS5maW5kKHN0YXRlID0+IHN0YXRlLmlkID09PSBpZClcclxuICAgICAgICApKVxyXG4gICAgKTtcclxuICAgIC8qXHJcbiAgICAgKiBPbmx5IHBhc3MgaW4gYHNldFByb3BzYCBhbmQgYGZpcmVFdmVudGAgaWYgdGhleSBhcmUgYWN0dWFsbHlcclxuICAgICAqIG5lY2Vzc2FyeS5cclxuICAgICAqIFRoaXMgYWxsb3dzIGNvbXBvbmVudCBhdXRob3JzIHRvIHNraXAgY29tcHV0aW5nIGRhdGFcclxuICAgICAqIGZvciBgc2V0UHJvcHNgIG9yIGBmaXJlRXZlbnRgICh3aGljaCBjYW4gYmUgZXhwZW5zaXZlKVxyXG4gICAgICogaW4gdGhlIGNhc2Ugd2hlbiB0aGV5IGFyZW4ndCBhY3R1YWxseSB1c2VkLlxyXG4gICAgICogRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGBob3ZlckRhdGFgIGZvciBncmFwaHMuIElmIGl0IGlzbid0XHJcbiAgICAgKiBhY3R1YWxseSB1c2VkLCB0aGVuIHRoZSBjb21wb25lbnQgYXV0aG9yIGNhbiBza2lwIGJpbmRpbmdcclxuICAgICAqIHRoZSBldmVudHMgZm9yIHRoZSBjb21wb25lbnQuXHJcbiAgICAgKlxyXG4gICAgICogVE9ETyAtIEEgbmljZSBlbmhhbmNlbWVudCB3b3VsZCBiZSB0byBwYXNzIGluIHRoZSBhY3R1YWwgZXZlbnRzXHJcbiAgICAgKiBhbmQgcHJvcGVydGllcyB0aGF0IGFyZSB1c2VkIGludG8gdGhlIGNvbXBvbmVudCBzbyB0aGF0IHRoZVxyXG4gICAgICogY29tcG9uZW50IGF1dGhvciBjYW4gY2hlY2sgZm9yIHNvbWV0aGluZyBsaWtlIGBzdWJzY3JpYmVkX2V2ZW50c2BcclxuICAgICAqIG9yIGBzdWJzY3JpYmVkX3Byb3BlcnRpZXNgIGluc3RlYWQgb2YgYGZpcmVFdmVudGAgYW5kIGBzZXRQcm9wc2AuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGV4dHJhUHJvcHMgPSB7fTtcclxuICAgIGlmICh0aGlzQ29tcG9uZW50U2hhcmVzU3RhdGUgJiZcclxuXHJcbiAgICAgICAgLy8gdGhlcmUgaXMgYSBidWcgd2l0aCBncmFwaHMgcmlnaHQgbm93IHdoZXJlXHJcbiAgICAgICAgLy8gdGhlIHJlc3R5bGUgbGlzdGVuZXIgZ2V0cyBhc3NpZ25lZCB3aXRoIGFcclxuICAgICAgICAvLyBzZXRQcm9wcyBmdW5jdGlvbiB0aGF0IHdhcyBjcmVhdGVkIGJlZm9yZVxyXG4gICAgICAgIC8vIHRoZSBpdGVtIHdhcyBhZGRlZC4gb25seSBwYXNzIGluIHNldFByb3BzXHJcbiAgICAgICAgLy8gaWYgdGhlIGl0ZW0ncyBwYXRoIGV4aXN0cyBmb3Igbm93LlxyXG4gICAgICAgIHBhdGhzW2lkXVxyXG4gICAgKSB7XHJcbiAgICAgICAgZXh0cmFQcm9wcy5zZXRQcm9wcyA9IHNldFByb3BzO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXNDb21wb25lbnRUcmlnZ2Vyc0V2ZW50cyAmJiBwYXRoc1tpZF0pIHtcclxuICAgICAgICBleHRyYVByb3BzLmZpcmVFdmVudCA9IGZpcmVFdmVudDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWlzRW1wdHkoZXh0cmFQcm9wcykpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCBleHRyYVByb3BzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xyXG4gICAgfVxyXG59XHJcblxyXG5Ob3RpZnlPYnNlcnZlcnNDb21wb25lbnQucHJvcFR5cGVzID0ge1xyXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcclxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxyXG4gICAgcGF0aDogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWRcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QoXHJcbiAgICBtYXBTdGF0ZVRvUHJvcHMsXHJcbiAgICBtYXBEaXNwYXRjaFRvUHJvcHMsXHJcbiAgICBtZXJnZVByb3BzXHJcbikoTm90aWZ5T2JzZXJ2ZXJzQ29tcG9uZW50KTtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/core/NotifyObservers.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _actions = __webpack_require__(/*! ../../actions */ \"./src/actions/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n * NotifyObservers passes a connected `setProps` handler down to\n * its child as a prop\n */\n\nfunction mapStateToProps(state) {\n return {\n dependencies: state.dependenciesRequest.content,\n paths: state.paths\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n}\n\nfunction mergeProps(stateProps, dispatchProps, ownProps) {\n var dispatch = dispatchProps.dispatch;\n\n return {\n id: ownProps.id,\n children: ownProps.children,\n dependencies: stateProps.dependencies,\n paths: stateProps.paths,\n\n fireEvent: function fireEvent(_ref) {\n var event = _ref.event;\n\n // Update this component's observers with the updated props\n dispatch((0, _actions.notifyObservers)({ event: event, id: ownProps.id }));\n },\n\n setProps: function setProps(newProps) {\n var payload = {\n props: newProps,\n id: ownProps.id,\n itempath: stateProps.paths[ownProps.id]\n };\n\n // Update this component's props\n dispatch((0, _actions.updateProps)(payload));\n\n // Update output components that depend on this input\n dispatch((0, _actions.notifyObservers)({ id: ownProps.id, props: newProps }));\n }\n };\n}\n\nfunction NotifyObserversComponent(_ref2) {\n var children = _ref2.children,\n id = _ref2.id,\n paths = _ref2.paths,\n dependencies = _ref2.dependencies,\n fireEvent = _ref2.fireEvent,\n setProps = _ref2.setProps;\n\n var thisComponentTriggersEvents = dependencies && dependencies.find(function (dependency) {\n return dependency.events.find(function (event) {\n return event.id === id;\n });\n });\n var thisComponentSharesState = dependencies && dependencies.find(function (dependency) {\n return dependency.inputs.find(function (input) {\n return input.id === id;\n }) || dependency.state.find(function (state) {\n return state.id === id;\n });\n });\n /*\n * Only pass in `setProps` and `fireEvent` if they are actually\n * necessary.\n * This allows component authors to skip computing data\n * for `setProps` or `fireEvent` (which can be expensive)\n * in the case when they aren't actually used.\n * For example, consider `hoverData` for graphs. If it isn't\n * actually used, then the component author can skip binding\n * the events for the component.\n *\n * TODO - A nice enhancement would be to pass in the actual events\n * and properties that are used into the component so that the\n * component author can check for something like `subscribed_events`\n * or `subscribed_properties` instead of `fireEvent` and `setProps`.\n */\n var extraProps = {};\n if (thisComponentSharesState &&\n\n // there is a bug with graphs right now where\n // the restyle listener gets assigned with a\n // setProps function that was created before\n // the item was added. only pass in setProps\n // if the item's path exists for now.\n paths[id]) {\n extraProps.setProps = setProps;\n }\n if (thisComponentTriggersEvents && paths[id]) {\n extraProps.fireEvent = fireEvent;\n }\n\n if (!(0, _ramda.isEmpty)(extraProps)) {\n return _react2.default.cloneElement(children, extraProps);\n }\n return children;\n}\n\nNotifyObserversComponent.propTypes = {\n id: _propTypes2.default.string.isRequired,\n children: _propTypes2.default.node.isRequired,\n path: _propTypes2.default.array.isRequired\n};\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps, mergeProps)(NotifyObserversComponent);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Ob3RpZnlPYnNlcnZlcnMucmVhY3QuanM/NzkyNCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImRlcGVuZGVuY2llcyIsImRlcGVuZGVuY2llc1JlcXVlc3QiLCJjb250ZW50IiwicGF0aHMiLCJtYXBEaXNwYXRjaFRvUHJvcHMiLCJkaXNwYXRjaCIsIm1lcmdlUHJvcHMiLCJzdGF0ZVByb3BzIiwiZGlzcGF0Y2hQcm9wcyIsIm93blByb3BzIiwiaWQiLCJjaGlsZHJlbiIsImZpcmVFdmVudCIsImV2ZW50Iiwic2V0UHJvcHMiLCJuZXdQcm9wcyIsInBheWxvYWQiLCJwcm9wcyIsIml0ZW1wYXRoIiwiTm90aWZ5T2JzZXJ2ZXJzQ29tcG9uZW50IiwidGhpc0NvbXBvbmVudFRyaWdnZXJzRXZlbnRzIiwiZmluZCIsImRlcGVuZGVuY3kiLCJldmVudHMiLCJ0aGlzQ29tcG9uZW50U2hhcmVzU3RhdGUiLCJpbnB1dHMiLCJpbnB1dCIsImV4dHJhUHJvcHMiLCJSZWFjdCIsImNsb25lRWxlbWVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwicGF0aCIsImFycmF5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQTs7Ozs7QUFLQSxTQUFTQSxlQUFULENBQTBCQyxLQUExQixFQUFpQztBQUM3QixXQUFPO0FBQ0hDLHNCQUFjRCxNQUFNRSxtQkFBTixDQUEwQkMsT0FEckM7QUFFSEMsZUFBT0osTUFBTUk7QUFGVixLQUFQO0FBSUg7O0FBRUQsU0FBU0Msa0JBQVQsQ0FBNkJDLFFBQTdCLEVBQXVDO0FBQ25DLFdBQU8sRUFBQ0Esa0JBQUQsRUFBUDtBQUNIOztBQUVELFNBQVNDLFVBQVQsQ0FBb0JDLFVBQXBCLEVBQWdDQyxhQUFoQyxFQUErQ0MsUUFBL0MsRUFBeUQ7QUFBQSxRQUM5Q0osUUFEOEMsR0FDbENHLGFBRGtDLENBQzlDSCxRQUQ4Qzs7QUFFckQsV0FBTztBQUNISyxZQUFJRCxTQUFTQyxFQURWO0FBRUhDLGtCQUFVRixTQUFTRSxRQUZoQjtBQUdIWCxzQkFBY08sV0FBV1AsWUFIdEI7QUFJSEcsZUFBT0ksV0FBV0osS0FKZjs7QUFNSFMsbUJBQVcsU0FBU0EsU0FBVCxPQUE0QjtBQUFBLGdCQUFSQyxLQUFRLFFBQVJBLEtBQVE7O0FBQ25DO0FBQ0FSLHFCQUFTLDhCQUFnQixFQUFDUSxZQUFELEVBQVFILElBQUlELFNBQVNDLEVBQXJCLEVBQWhCLENBQVQ7QUFDSCxTQVRFOztBQVdISSxrQkFBVSxTQUFTQSxRQUFULENBQWtCQyxRQUFsQixFQUE0QjtBQUNsQyxnQkFBTUMsVUFBVTtBQUNaQyx1QkFBT0YsUUFESztBQUVaTCxvQkFBSUQsU0FBU0MsRUFGRDtBQUdaUSwwQkFBVVgsV0FBV0osS0FBWCxDQUFpQk0sU0FBU0MsRUFBMUI7QUFIRSxhQUFoQjs7QUFNQTtBQUNBTCxxQkFBUywwQkFBWVcsT0FBWixDQUFUOztBQUVBO0FBQ0FYLHFCQUFTLDhCQUFnQixFQUFDSyxJQUFJRCxTQUFTQyxFQUFkLEVBQWtCTyxPQUFPRixRQUF6QixFQUFoQixDQUFUO0FBQ0g7QUF2QkUsS0FBUDtBQTBCSDs7QUFFRCxTQUFTSSx3QkFBVCxRQVNHO0FBQUEsUUFSQ1IsUUFRRCxTQVJDQSxRQVFEO0FBQUEsUUFQQ0QsRUFPRCxTQVBDQSxFQU9EO0FBQUEsUUFOQ1AsS0FNRCxTQU5DQSxLQU1EO0FBQUEsUUFKQ0gsWUFJRCxTQUpDQSxZQUlEO0FBQUEsUUFGQ1ksU0FFRCxTQUZDQSxTQUVEO0FBQUEsUUFEQ0UsUUFDRCxTQURDQSxRQUNEOztBQUNDLFFBQU1NLDhCQUNGcEIsZ0JBQWdCQSxhQUFhcUIsSUFBYixDQUFrQjtBQUFBLGVBQzlCQyxXQUFXQyxNQUFYLENBQWtCRixJQUFsQixDQUF1QjtBQUFBLG1CQUFTUixNQUFNSCxFQUFOLEtBQWFBLEVBQXRCO0FBQUEsU0FBdkIsQ0FEOEI7QUFBQSxLQUFsQixDQURwQjtBQUtBLFFBQU1jLDJCQUNGeEIsZ0JBQWdCQSxhQUFhcUIsSUFBYixDQUFrQjtBQUFBLGVBQzlCQyxXQUFXRyxNQUFYLENBQWtCSixJQUFsQixDQUF1QjtBQUFBLG1CQUFTSyxNQUFNaEIsRUFBTixLQUFhQSxFQUF0QjtBQUFBLFNBQXZCLEtBQ0FZLFdBQVd2QixLQUFYLENBQWlCc0IsSUFBakIsQ0FBc0I7QUFBQSxtQkFBU3RCLE1BQU1XLEVBQU4sS0FBYUEsRUFBdEI7QUFBQSxTQUF0QixDQUY4QjtBQUFBLEtBQWxCLENBRHBCO0FBTUE7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFFBQU1pQixhQUFhLEVBQW5CO0FBQ0EsUUFBSUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBckIsVUFBTU8sRUFBTixDQVBKLEVBUUU7QUFDRWlCLG1CQUFXYixRQUFYLEdBQXNCQSxRQUF0QjtBQUNIO0FBQ0QsUUFBSU0sK0JBQStCakIsTUFBTU8sRUFBTixDQUFuQyxFQUE4QztBQUMxQ2lCLG1CQUFXZixTQUFYLEdBQXVCQSxTQUF2QjtBQUNIOztBQUVELFFBQUksQ0FBQyxvQkFBUWUsVUFBUixDQUFMLEVBQTBCO0FBQ3RCLGVBQU9DLGdCQUFNQyxZQUFOLENBQW1CbEIsUUFBbkIsRUFBNkJnQixVQUE3QixDQUFQO0FBQ0g7QUFDRyxXQUFPaEIsUUFBUDtBQUVQOztBQUVEUSx5QkFBeUJXLFNBQXpCLEdBQXFDO0FBQ2pDcEIsUUFBSXFCLG9CQUFVQyxNQUFWLENBQWlCQyxVQURZO0FBRWpDdEIsY0FBVW9CLG9CQUFVRyxJQUFWLENBQWVELFVBRlE7QUFHakNFLFVBQU1KLG9CQUFVSyxLQUFWLENBQWdCSDtBQUhXLENBQXJDOztrQkFNZSx5QkFDWG5DLGVBRFcsRUFFWE0sa0JBRlcsRUFHWEUsVUFIVyxFQUliYSx3QkFKYSxDIiwiZmlsZSI6Ii4vc3JjL2NvbXBvbmVudHMvY29yZS9Ob3RpZnlPYnNlcnZlcnMucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Nvbm5lY3R9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7aXNFbXB0eX0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHtub3RpZnlPYnNlcnZlcnMsIHVwZGF0ZVByb3BzfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG4vKlxuICogTm90aWZ5T2JzZXJ2ZXJzIHBhc3NlcyBhIGNvbm5lY3RlZCBgc2V0UHJvcHNgIGhhbmRsZXIgZG93biB0b1xuICogaXRzIGNoaWxkIGFzIGEgcHJvcFxuICovXG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyAoc3RhdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBkZXBlbmRlbmNpZXM6IHN0YXRlLmRlcGVuZGVuY2llc1JlcXVlc3QuY29udGVudCxcbiAgICAgICAgcGF0aHM6IHN0YXRlLnBhdGhzXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gbWFwRGlzcGF0Y2hUb1Byb3BzIChkaXNwYXRjaCkge1xuICAgIHJldHVybiB7ZGlzcGF0Y2h9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gICAgY29uc3Qge2Rpc3BhdGNofSA9IGRpc3BhdGNoUHJvcHM7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG93blByb3BzLmlkLFxuICAgICAgICBjaGlsZHJlbjogb3duUHJvcHMuY2hpbGRyZW4sXG4gICAgICAgIGRlcGVuZGVuY2llczogc3RhdGVQcm9wcy5kZXBlbmRlbmNpZXMsXG4gICAgICAgIHBhdGhzOiBzdGF0ZVByb3BzLnBhdGhzLFxuXG4gICAgICAgIGZpcmVFdmVudDogZnVuY3Rpb24gZmlyZUV2ZW50KHtldmVudH0pIHtcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGlzIGNvbXBvbmVudCdzIG9ic2VydmVycyB3aXRoIHRoZSB1cGRhdGVkIHByb3BzXG4gICAgICAgICAgICBkaXNwYXRjaChub3RpZnlPYnNlcnZlcnMoe2V2ZW50LCBpZDogb3duUHJvcHMuaWR9KSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgc2V0UHJvcHM6IGZ1bmN0aW9uIHNldFByb3BzKG5ld1Byb3BzKSB7XG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICAgICAgICAgIHByb3BzOiBuZXdQcm9wcyxcbiAgICAgICAgICAgICAgICBpZDogb3duUHJvcHMuaWQsXG4gICAgICAgICAgICAgICAgaXRlbXBhdGg6IHN0YXRlUHJvcHMucGF0aHNbb3duUHJvcHMuaWRdXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyBVcGRhdGUgdGhpcyBjb21wb25lbnQncyBwcm9wc1xuICAgICAgICAgICAgZGlzcGF0Y2godXBkYXRlUHJvcHMocGF5bG9hZCkpO1xuXG4gICAgICAgICAgICAvLyBVcGRhdGUgb3V0cHV0IGNvbXBvbmVudHMgdGhhdCBkZXBlbmQgb24gdGhpcyBpbnB1dFxuICAgICAgICAgICAgZGlzcGF0Y2gobm90aWZ5T2JzZXJ2ZXJzKHtpZDogb3duUHJvcHMuaWQsIHByb3BzOiBuZXdQcm9wc30pKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5mdW5jdGlvbiBOb3RpZnlPYnNlcnZlcnNDb21wb25lbnQgKHtcbiAgICBjaGlsZHJlbixcbiAgICBpZCxcbiAgICBwYXRocyxcblxuICAgIGRlcGVuZGVuY2llcyxcblxuICAgIGZpcmVFdmVudCxcbiAgICBzZXRQcm9wc1xufSkge1xuICAgIGNvbnN0IHRoaXNDb21wb25lbnRUcmlnZ2Vyc0V2ZW50cyA9IChcbiAgICAgICAgZGVwZW5kZW5jaWVzICYmIGRlcGVuZGVuY2llcy5maW5kKGRlcGVuZGVuY3kgPT4gKFxuICAgICAgICAgICAgZGVwZW5kZW5jeS5ldmVudHMuZmluZChldmVudCA9PiBldmVudC5pZCA9PT0gaWQpXG4gICAgICAgICkpXG4gICAgKTtcbiAgICBjb25zdCB0aGlzQ29tcG9uZW50U2hhcmVzU3RhdGUgPSAoXG4gICAgICAgIGRlcGVuZGVuY2llcyAmJiBkZXBlbmRlbmNpZXMuZmluZChkZXBlbmRlbmN5ID0+IChcbiAgICAgICAgICAgIGRlcGVuZGVuY3kuaW5wdXRzLmZpbmQoaW5wdXQgPT4gaW5wdXQuaWQgPT09IGlkKSB8fFxuICAgICAgICAgICAgZGVwZW5kZW5jeS5zdGF0ZS5maW5kKHN0YXRlID0+IHN0YXRlLmlkID09PSBpZClcbiAgICAgICAgKSlcbiAgICApO1xuICAgIC8qXG4gICAgICogT25seSBwYXNzIGluIGBzZXRQcm9wc2AgYW5kIGBmaXJlRXZlbnRgIGlmIHRoZXkgYXJlIGFjdHVhbGx5XG4gICAgICogbmVjZXNzYXJ5LlxuICAgICAqIFRoaXMgYWxsb3dzIGNvbXBvbmVudCBhdXRob3JzIHRvIHNraXAgY29tcHV0aW5nIGRhdGFcbiAgICAgKiBmb3IgYHNldFByb3BzYCBvciBgZmlyZUV2ZW50YCAod2hpY2ggY2FuIGJlIGV4cGVuc2l2ZSlcbiAgICAgKiBpbiB0aGUgY2FzZSB3aGVuIHRoZXkgYXJlbid0IGFjdHVhbGx5IHVzZWQuXG4gICAgICogRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGBob3ZlckRhdGFgIGZvciBncmFwaHMuIElmIGl0IGlzbid0XG4gICAgICogYWN0dWFsbHkgdXNlZCwgdGhlbiB0aGUgY29tcG9uZW50IGF1dGhvciBjYW4gc2tpcCBiaW5kaW5nXG4gICAgICogdGhlIGV2ZW50cyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIFRPRE8gLSBBIG5pY2UgZW5oYW5jZW1lbnQgd291bGQgYmUgdG8gcGFzcyBpbiB0aGUgYWN0dWFsIGV2ZW50c1xuICAgICAqIGFuZCBwcm9wZXJ0aWVzIHRoYXQgYXJlIHVzZWQgaW50byB0aGUgY29tcG9uZW50IHNvIHRoYXQgdGhlXG4gICAgICogY29tcG9uZW50IGF1dGhvciBjYW4gY2hlY2sgZm9yIHNvbWV0aGluZyBsaWtlIGBzdWJzY3JpYmVkX2V2ZW50c2BcbiAgICAgKiBvciBgc3Vic2NyaWJlZF9wcm9wZXJ0aWVzYCBpbnN0ZWFkIG9mIGBmaXJlRXZlbnRgIGFuZCBgc2V0UHJvcHNgLlxuICAgICAqL1xuICAgIGNvbnN0IGV4dHJhUHJvcHMgPSB7fTtcbiAgICBpZiAodGhpc0NvbXBvbmVudFNoYXJlc1N0YXRlICYmXG5cbiAgICAgICAgLy8gdGhlcmUgaXMgYSBidWcgd2l0aCBncmFwaHMgcmlnaHQgbm93IHdoZXJlXG4gICAgICAgIC8vIHRoZSByZXN0eWxlIGxpc3RlbmVyIGdldHMgYXNzaWduZWQgd2l0aCBhXG4gICAgICAgIC8vIHNldFByb3BzIGZ1bmN0aW9uIHRoYXQgd2FzIGNyZWF0ZWQgYmVmb3JlXG4gICAgICAgIC8vIHRoZSBpdGVtIHdhcyBhZGRlZC4gb25seSBwYXNzIGluIHNldFByb3BzXG4gICAgICAgIC8vIGlmIHRoZSBpdGVtJ3MgcGF0aCBleGlzdHMgZm9yIG5vdy5cbiAgICAgICAgcGF0aHNbaWRdXG4gICAgKSB7XG4gICAgICAgIGV4dHJhUHJvcHMuc2V0UHJvcHMgPSBzZXRQcm9wcztcbiAgICB9XG4gICAgaWYgKHRoaXNDb21wb25lbnRUcmlnZ2Vyc0V2ZW50cyAmJiBwYXRoc1tpZF0pIHtcbiAgICAgICAgZXh0cmFQcm9wcy5maXJlRXZlbnQgPSBmaXJlRXZlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFpc0VtcHR5KGV4dHJhUHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIGV4dHJhUHJvcHMpO1xuICAgIH0gXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICBcbn1cblxuTm90aWZ5T2JzZXJ2ZXJzQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIHBhdGg6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KFxuICAgIG1hcFN0YXRlVG9Qcm9wcyxcbiAgICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gICAgbWVyZ2VQcm9wc1xuKShOb3RpZnlPYnNlcnZlcnNDb21wb25lbnQpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/core/NotifyObservers.react.js\n"); /***/ }), @@ -5330,7 +5294,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar connect = _reactRedux.connect;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar PropTypes = _interopRequireDefault(_propTypes).default;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar merge = _ramda.merge;\n\nvar _index = __webpack_require__(/*! ../../actions/index.js */ \"./src/actions/index.js\");\n\nvar redo = _index.redo;\nvar undo = _index.undo;\n\nvar _radium = __webpack_require__(/*! radium */ \"./node_modules/radium/es/index.js\");\n\nvar Radium = _interopRequireDefault(_radium).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction UnconnectedToolbar(props) {\n var dispatch = props.dispatch,\n history = props.history;\n\n var styles = {\n parentSpanStyle: {\n display: 'inline-block',\n 'opacity': '0.2',\n ':hover': {\n 'opacity': 1\n }\n },\n iconStyle: {\n fontSize: 20\n },\n labelStyle: {\n fontSize: 15\n }\n };\n\n var undoLink = React.createElement(\n 'span',\n {\n key: 'undoLink',\n style: merge({\n 'color': history.past.length ? '#0074D9' : 'grey',\n 'cursor': history.past.length ? 'pointer' : 'default'\n }, styles.parentSpanStyle),\n onClick: function onClick() {\n return dispatch(undo());\n }\n },\n React.createElement(\n 'div',\n { style: merge({ transform: 'rotate(270deg)' }, styles.iconStyle) },\n '↺'\n ),\n React.createElement(\n 'div',\n { style: styles.labelStyle },\n 'undo'\n )\n );\n\n var redoLink = React.createElement(\n 'span',\n {\n key: 'redoLink',\n style: merge({\n 'color': history.future.length ? '#0074D9' : 'grey',\n 'cursor': history.future.length ? 'pointer' : 'default',\n 'marginLeft': 10\n }, styles.parentSpanStyle),\n onClick: function onClick() {\n return dispatch(redo());\n }\n },\n React.createElement(\n 'div',\n { style: merge({ transform: 'rotate(90deg)' }, styles.iconStyle) },\n '↻'\n ),\n React.createElement(\n 'div',\n { style: styles.labelStyle },\n 'redo'\n )\n );\n\n return React.createElement(\n 'div',\n {\n className: '_dash-undo-redo',\n style: {\n 'position': 'fixed',\n 'bottom': '30px',\n 'left': '30px',\n 'fontSize': '20px',\n 'textAlign': 'center',\n 'zIndex': '9999',\n 'backgroundColor': 'rgba(255, 255, 255, 0.9)'\n }\n },\n React.createElement(\n 'div',\n { style: {\n 'position': 'relative'\n } },\n history.past.length > 0 ? undoLink : null,\n history.future.length > 0 ? redoLink : null\n )\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: PropTypes.object,\n dispatch: PropTypes.func\n};\n\nvar Toolbar = connect(function (state) {\n return {\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})(Radium(UnconnectedToolbar));\n\nexports.default = Toolbar;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Ub29sYmFyLnJlYWN0LmpzPzVhODAiXSwibmFtZXMiOlsiY29ubmVjdCIsIlJlYWN0IiwiUHJvcFR5cGVzIiwibWVyZ2UiLCJyZWRvIiwidW5kbyIsIlJhZGl1bSIsIlVuY29ubmVjdGVkVG9vbGJhciIsInByb3BzIiwiZGlzcGF0Y2giLCJoaXN0b3J5Iiwic3R5bGVzIiwicGFyZW50U3BhblN0eWxlIiwiZGlzcGxheSIsImljb25TdHlsZSIsImZvbnRTaXplIiwibGFiZWxTdHlsZSIsInVuZG9MaW5rIiwicGFzdCIsImxlbmd0aCIsInRyYW5zZm9ybSIsInJlZG9MaW5rIiwiZnV0dXJlIiwicHJvcFR5cGVzIiwib2JqZWN0IiwiZnVuYyIsIlRvb2xiYXIiLCJzdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBQVFBLE8sZUFBQUEsTzs7QUFDUjs7SUFBT0MsSzs7QUFDUDs7SUFBT0MsUzs7QUFDUDs7SUFBUUMsSyxVQUFBQSxLOztBQUNSOztJQUFRQyxJLFVBQUFBLEk7SUFBTUMsSSxVQUFBQSxJOztBQUNkOztJQUFPQyxNOzs7O0FBR1AsU0FBU0Msa0JBQVQsQ0FBNEJDLEtBQTVCLEVBQW1DO0FBQUEsUUFDeEJDLFFBRHdCLEdBQ0hELEtBREcsQ0FDeEJDLFFBRHdCO0FBQUEsUUFDZEMsT0FEYyxHQUNIRixLQURHLENBQ2RFLE9BRGM7O0FBRS9CLFFBQU1DLFNBQU87QUFDVEMseUJBQWlCO0FBQ2JDLHFCQUFTLGNBREk7QUFFYix1QkFBVyxLQUZFO0FBR2Isc0JBQVU7QUFDTiwyQkFBVztBQURMO0FBSEcsU0FEUjtBQVFUQyxtQkFBVztBQUNQQyxzQkFBVTtBQURILFNBUkY7QUFXVEMsb0JBQVk7QUFDUkQsc0JBQVU7QUFERjtBQVhILEtBQWI7O0FBZ0JBLFFBQU1FLFdBQ0Y7QUFBQTtBQUFBO0FBQ0ksaUJBQUksVUFEUjtBQUVJLG1CQUFPZCxNQUFNO0FBQ1QseUJBQVNPLFFBQVFRLElBQVIsQ0FBYUMsTUFBYixHQUFzQixTQUF0QixHQUFrQyxNQURsQztBQUVULDBCQUFVVCxRQUFRUSxJQUFSLENBQWFDLE1BQWIsR0FBc0IsU0FBdEIsR0FBa0M7QUFGbkMsYUFBTixFQUdKUixPQUFPQyxlQUhILENBRlg7QUFNSSxxQkFBUztBQUFBLHVCQUFNSCxTQUFTSixNQUFULENBQU47QUFBQTtBQU5iO0FBUUk7QUFBQTtBQUFBLGNBQUssT0FBT0YsTUFDUixFQUFDaUIsV0FBVyxnQkFBWixFQURRLEVBRVJULE9BQU9HLFNBRkMsQ0FBWjtBQUlLO0FBSkwsU0FSSjtBQWNJO0FBQUE7QUFBQSxjQUFLLE9BQU9ILE9BQU9LLFVBQW5CO0FBQUE7QUFBQTtBQWRKLEtBREo7O0FBcUJBLFFBQU1LLFdBQ0Y7QUFBQTtBQUFBO0FBQ0ksaUJBQUksVUFEUjtBQUVJLG1CQUFPbEIsTUFBTTtBQUNULHlCQUFTTyxRQUFRWSxNQUFSLENBQWVILE1BQWYsR0FBd0IsU0FBeEIsR0FBb0MsTUFEcEM7QUFFVCwwQkFBVVQsUUFBUVksTUFBUixDQUFlSCxNQUFmLEdBQXdCLFNBQXhCLEdBQW9DLFNBRnJDO0FBR1QsOEJBQWM7QUFITCxhQUFOLEVBSUpSLE9BQU9DLGVBSkgsQ0FGWDtBQU9JLHFCQUFTO0FBQUEsdUJBQU1ILFNBQVNMLE1BQVQsQ0FBTjtBQUFBO0FBUGI7QUFTSTtBQUFBO0FBQUEsY0FBSyxPQUFPRCxNQUNSLEVBQUNpQixXQUFXLGVBQVosRUFEUSxFQUVSVCxPQUFPRyxTQUZDLENBQVo7QUFJSztBQUpMLFNBVEo7QUFlSTtBQUFBO0FBQUEsY0FBSyxPQUFPSCxPQUFPSyxVQUFuQjtBQUFBO0FBQUE7QUFmSixLQURKOztBQXNCQSxXQUNJO0FBQUE7QUFBQTtBQUNJLHVCQUFVLGlCQURkO0FBRUksbUJBQU87QUFDSCw0QkFBWSxPQURUO0FBRUgsMEJBQVUsTUFGUDtBQUdILHdCQUFRLE1BSEw7QUFJSCw0QkFBWSxNQUpUO0FBS0gsNkJBQWEsUUFMVjtBQU1ILDBCQUFVLE1BTlA7QUFPSCxtQ0FBbUI7QUFQaEI7QUFGWDtBQVlJO0FBQUE7QUFBQSxjQUFLLE9BQU87QUFDUixnQ0FBWTtBQURKLGlCQUFaO0FBR0tOLG9CQUFRUSxJQUFSLENBQWFDLE1BQWIsR0FBc0IsQ0FBdEIsR0FBMEJGLFFBQTFCLEdBQXFDLElBSDFDO0FBSUtQLG9CQUFRWSxNQUFSLENBQWVILE1BQWYsR0FBd0IsQ0FBeEIsR0FBNEJFLFFBQTVCLEdBQXVDO0FBSjVDO0FBWkosS0FESjtBQXFCSDs7QUFFRGQsbUJBQW1CZ0IsU0FBbkIsR0FBK0I7QUFDM0JiLGFBQVNSLFVBQVVzQixNQURRO0FBRTNCZixjQUFVUCxVQUFVdUI7QUFGTyxDQUEvQjs7QUFLQSxJQUFNQyxVQUFVMUIsUUFDWjtBQUFBLFdBQVU7QUFDTlUsaUJBQVNpQixNQUFNakI7QUFEVCxLQUFWO0FBQUEsQ0FEWSxFQUlaO0FBQUEsV0FBYSxFQUFDRCxrQkFBRCxFQUFiO0FBQUEsQ0FKWSxFQUtkSCxPQUFPQyxrQkFBUCxDQUxjLENBQWhCOztrQkFPZW1CLE8iLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9jb3JlL1Rvb2xiYXIucmVhY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Nvbm5lY3R9IGZyb20gJ3JlYWN0LXJlZHV4JztcclxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcclxuaW1wb3J0IHttZXJnZX0gZnJvbSAncmFtZGEnO1xyXG5pbXBvcnQge3JlZG8sIHVuZG99IGZyb20gJy4uLy4uL2FjdGlvbnMvaW5kZXguanMnO1xyXG5pbXBvcnQgUmFkaXVtIGZyb20gJ3JhZGl1bSc7XHJcblxyXG5cclxuZnVuY3Rpb24gVW5jb25uZWN0ZWRUb29sYmFyKHByb3BzKSB7XHJcbiAgICBjb25zdCB7ZGlzcGF0Y2gsIGhpc3Rvcnl9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBzdHlsZXM9e1xyXG4gICAgICAgIHBhcmVudFNwYW5TdHlsZToge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcclxuICAgICAgICAgICAgJ29wYWNpdHknOiAnMC4yJyxcclxuICAgICAgICAgICAgJzpob3Zlcic6IHtcclxuICAgICAgICAgICAgICAgICdvcGFjaXR5JzogMVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpY29uU3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udFNpemU6IDIwXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRTaXplOiAxNVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1bmRvTGluayA9IChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBrZXk9XCJ1bmRvTGlua1wiXHJcbiAgICAgICAgICAgIHN0eWxlPXttZXJnZSh7XHJcbiAgICAgICAgICAgICAgICAnY29sb3InOiBoaXN0b3J5LnBhc3QubGVuZ3RoID8gJyMwMDc0RDknIDogJ2dyZXknLFxyXG4gICAgICAgICAgICAgICAgJ2N1cnNvcic6IGhpc3RvcnkucGFzdC5sZW5ndGggPyAncG9pbnRlcicgOiAnZGVmYXVsdCdcclxuICAgICAgICAgICAgfSwgc3R5bGVzLnBhcmVudFNwYW5TdHlsZSl9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGRpc3BhdGNoKHVuZG8oKSl9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXttZXJnZShcclxuICAgICAgICAgICAgICAgIHt0cmFuc2Zvcm06ICdyb3RhdGUoMjcwZGVnKSd9LFxyXG4gICAgICAgICAgICAgICAgc3R5bGVzLmljb25TdHlsZVxyXG4gICAgICAgICAgICApfT5cclxuICAgICAgICAgICAgICAgIHsn4oa6J31cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5sYWJlbFN0eWxlfT5cclxuICAgICAgICAgICAgICAgIHVuZG9cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCByZWRvTGluayA9IChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBrZXk9XCJyZWRvTGlua1wiXHJcbiAgICAgICAgICAgIHN0eWxlPXttZXJnZSh7XHJcbiAgICAgICAgICAgICAgICAnY29sb3InOiBoaXN0b3J5LmZ1dHVyZS5sZW5ndGggPyAnIzAwNzREOScgOiAnZ3JleScsXHJcbiAgICAgICAgICAgICAgICAnY3Vyc29yJzogaGlzdG9yeS5mdXR1cmUubGVuZ3RoID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgJ21hcmdpbkxlZnQnOiAxMFxyXG4gICAgICAgICAgICB9LCBzdHlsZXMucGFyZW50U3BhblN0eWxlKX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gZGlzcGF0Y2gocmVkbygpKX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e21lcmdlKFxyXG4gICAgICAgICAgICAgICAge3RyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknfSxcclxuICAgICAgICAgICAgICAgIHN0eWxlcy5pY29uU3R5bGVcclxuICAgICAgICAgICAgKX0+XHJcbiAgICAgICAgICAgICAgICB7J+KGuyd9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMubGFiZWxTdHlsZX0+XHJcbiAgICAgICAgICAgICAgICByZWRvXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIl9kYXNoLXVuZG8tcmVkb1wiIFxyXG4gICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICdib3R0b20nOiAnMzBweCcsXHJcbiAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHB4JyxcclxuICAgICAgICAgICAgICAgICdmb250U2l6ZSc6ICcyMHB4JyxcclxuICAgICAgICAgICAgICAgICd0ZXh0QWxpZ24nOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICd6SW5kZXgnOiAnOTk5OScsXHJcbiAgICAgICAgICAgICAgICAnYmFja2dyb3VuZENvbG9yJzogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC45KScsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnXHJcbiAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAge2hpc3RvcnkucGFzdC5sZW5ndGggPiAwID8gdW5kb0xpbmsgOiBudWxsfVxyXG4gICAgICAgICAgICAgICAge2hpc3RvcnkuZnV0dXJlLmxlbmd0aCA+IDAgPyByZWRvTGluayA6IG51bGx9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufVxyXG5cclxuVW5jb25uZWN0ZWRUb29sYmFyLnByb3BUeXBlcyA9IHtcclxuICAgIGhpc3Rvcnk6IFByb3BUeXBlcy5vYmplY3QsXHJcbiAgICBkaXNwYXRjaDogUHJvcFR5cGVzLmZ1bmMsXHJcbn07XHJcblxyXG5jb25zdCBUb29sYmFyID0gY29ubmVjdChcclxuICAgIHN0YXRlID0+ICh7XHJcbiAgICAgICAgaGlzdG9yeTogc3RhdGUuaGlzdG9yeVxyXG4gICAgfSksXHJcbiAgICBkaXNwYXRjaCA9PiAoe2Rpc3BhdGNofSlcclxuKShSYWRpdW0oVW5jb25uZWN0ZWRUb29sYmFyKSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBUb29sYmFyO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/core/Toolbar.react.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/lib/index.js\");\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _index = __webpack_require__(/*! ../../actions/index.js */ \"./src/actions/index.js\");\n\nvar _radium = __webpack_require__(/*! radium */ \"./node_modules/radium/es/index.js\");\n\nvar _radium2 = _interopRequireDefault(_radium);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction UnconnectedToolbar(props) {\n var dispatch = props.dispatch,\n history = props.history;\n\n var styles = {\n parentSpanStyle: {\n display: 'inline-block',\n 'opacity': '0.2',\n ':hover': {\n 'opacity': 1\n }\n },\n iconStyle: {\n fontSize: 20\n },\n labelStyle: {\n fontSize: 15\n }\n };\n\n var undoLink = _react2.default.createElement(\n 'span',\n {\n key: 'undoLink',\n style: (0, _ramda.merge)({\n 'color': history.past.length ? '#0074D9' : 'grey',\n 'cursor': history.past.length ? 'pointer' : 'default'\n }, styles.parentSpanStyle),\n onClick: function onClick() {\n return dispatch((0, _index.undo)());\n }\n },\n _react2.default.createElement(\n 'div',\n { style: (0, _ramda.merge)({ transform: 'rotate(270deg)' }, styles.iconStyle) },\n '↺'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.labelStyle },\n 'undo'\n )\n );\n\n var redoLink = _react2.default.createElement(\n 'span',\n {\n key: 'redoLink',\n style: (0, _ramda.merge)({\n 'color': history.future.length ? '#0074D9' : 'grey',\n 'cursor': history.future.length ? 'pointer' : 'default',\n 'marginLeft': 10\n }, styles.parentSpanStyle),\n onClick: function onClick() {\n return dispatch((0, _index.redo)());\n }\n },\n _react2.default.createElement(\n 'div',\n { style: (0, _ramda.merge)({ transform: 'rotate(90deg)' }, styles.iconStyle) },\n '↻'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.labelStyle },\n 'redo'\n )\n );\n\n return _react2.default.createElement(\n 'div',\n {\n className: '_dash-undo-redo',\n style: {\n 'position': 'fixed',\n 'bottom': '30px',\n 'left': '30px',\n 'fontSize': '20px',\n 'textAlign': 'center',\n 'zIndex': '9999',\n 'backgroundColor': 'rgba(255, 255, 255, 0.9)'\n }\n },\n _react2.default.createElement(\n 'div',\n { style: {\n 'position': 'relative'\n } },\n history.past.length > 0 ? undoLink : null,\n history.future.length > 0 ? redoLink : null\n )\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: _propTypes2.default.object,\n dispatch: _propTypes2.default.func\n};\n\nvar Toolbar = (0, _reactRedux.connect)(function (state) {\n return {\n history: state.history\n };\n}, function (dispatch) {\n return { dispatch: dispatch };\n})((0, _radium2.default)(UnconnectedToolbar));\n\nexports.default = Toolbar;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbXBvbmVudHMvY29yZS9Ub29sYmFyLnJlYWN0LmpzPzVhODAiXSwibmFtZXMiOlsiVW5jb25uZWN0ZWRUb29sYmFyIiwicHJvcHMiLCJkaXNwYXRjaCIsImhpc3RvcnkiLCJzdHlsZXMiLCJwYXJlbnRTcGFuU3R5bGUiLCJkaXNwbGF5IiwiaWNvblN0eWxlIiwiZm9udFNpemUiLCJsYWJlbFN0eWxlIiwidW5kb0xpbmsiLCJwYXN0IiwibGVuZ3RoIiwidHJhbnNmb3JtIiwicmVkb0xpbmsiLCJmdXR1cmUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiVG9vbGJhciIsInN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBLFNBQVNBLGtCQUFULENBQTRCQyxLQUE1QixFQUFtQztBQUFBLFFBQ3hCQyxRQUR3QixHQUNIRCxLQURHLENBQ3hCQyxRQUR3QjtBQUFBLFFBQ2RDLE9BRGMsR0FDSEYsS0FERyxDQUNkRSxPQURjOztBQUUvQixRQUFNQyxTQUFPO0FBQ1RDLHlCQUFpQjtBQUNiQyxxQkFBUyxjQURJO0FBRWIsdUJBQVcsS0FGRTtBQUdiLHNCQUFVO0FBQ04sMkJBQVc7QUFETDtBQUhHLFNBRFI7QUFRVEMsbUJBQVc7QUFDUEMsc0JBQVU7QUFESCxTQVJGO0FBV1RDLG9CQUFZO0FBQ1JELHNCQUFVO0FBREY7QUFYSCxLQUFiOztBQWdCQSxRQUFNRSxXQUNGO0FBQUE7QUFBQTtBQUNJLGlCQUFJLFVBRFI7QUFFSSxtQkFBTyxrQkFBTTtBQUNULHlCQUFTUCxRQUFRUSxJQUFSLENBQWFDLE1BQWIsR0FBc0IsU0FBdEIsR0FBa0MsTUFEbEM7QUFFVCwwQkFBVVQsUUFBUVEsSUFBUixDQUFhQyxNQUFiLEdBQXNCLFNBQXRCLEdBQWtDO0FBRm5DLGFBQU4sRUFHSlIsT0FBT0MsZUFISCxDQUZYO0FBTUkscUJBQVM7QUFBQSx1QkFBTUgsU0FBUyxrQkFBVCxDQUFOO0FBQUE7QUFOYjtBQVFJO0FBQUE7QUFBQSxjQUFLLE9BQU8sa0JBQ1IsRUFBQ1csV0FBVyxnQkFBWixFQURRLEVBRVJULE9BQU9HLFNBRkMsQ0FBWjtBQUlLO0FBSkwsU0FSSjtBQWNJO0FBQUE7QUFBQSxjQUFLLE9BQU9ILE9BQU9LLFVBQW5CO0FBQUE7QUFBQTtBQWRKLEtBREo7O0FBcUJBLFFBQU1LLFdBQ0Y7QUFBQTtBQUFBO0FBQ0ksaUJBQUksVUFEUjtBQUVJLG1CQUFPLGtCQUFNO0FBQ1QseUJBQVNYLFFBQVFZLE1BQVIsQ0FBZUgsTUFBZixHQUF3QixTQUF4QixHQUFvQyxNQURwQztBQUVULDBCQUFVVCxRQUFRWSxNQUFSLENBQWVILE1BQWYsR0FBd0IsU0FBeEIsR0FBb0MsU0FGckM7QUFHVCw4QkFBYztBQUhMLGFBQU4sRUFJSlIsT0FBT0MsZUFKSCxDQUZYO0FBT0kscUJBQVM7QUFBQSx1QkFBTUgsU0FBUyxrQkFBVCxDQUFOO0FBQUE7QUFQYjtBQVNJO0FBQUE7QUFBQSxjQUFLLE9BQU8sa0JBQ1IsRUFBQ1csV0FBVyxlQUFaLEVBRFEsRUFFUlQsT0FBT0csU0FGQyxDQUFaO0FBSUs7QUFKTCxTQVRKO0FBZUk7QUFBQTtBQUFBLGNBQUssT0FBT0gsT0FBT0ssVUFBbkI7QUFBQTtBQUFBO0FBZkosS0FESjs7QUFzQkEsV0FDSTtBQUFBO0FBQUE7QUFDSSx1QkFBVSxpQkFEZDtBQUVJLG1CQUFPO0FBQ0gsNEJBQVksT0FEVDtBQUVILDBCQUFVLE1BRlA7QUFHSCx3QkFBUSxNQUhMO0FBSUgsNEJBQVksTUFKVDtBQUtILDZCQUFhLFFBTFY7QUFNSCwwQkFBVSxNQU5QO0FBT0gsbUNBQW1CO0FBUGhCO0FBRlg7QUFZSTtBQUFBO0FBQUEsY0FBSyxPQUFPO0FBQ1IsZ0NBQVk7QUFESixpQkFBWjtBQUdLTixvQkFBUVEsSUFBUixDQUFhQyxNQUFiLEdBQXNCLENBQXRCLEdBQTBCRixRQUExQixHQUFxQyxJQUgxQztBQUlLUCxvQkFBUVksTUFBUixDQUFlSCxNQUFmLEdBQXdCLENBQXhCLEdBQTRCRSxRQUE1QixHQUF1QztBQUo1QztBQVpKLEtBREo7QUFxQkg7O0FBRURkLG1CQUFtQmdCLFNBQW5CLEdBQStCO0FBQzNCYixhQUFTYyxvQkFBVUMsTUFEUTtBQUUzQmhCLGNBQVVlLG9CQUFVRTtBQUZPLENBQS9COztBQUtBLElBQU1DLFVBQVUseUJBQ1o7QUFBQSxXQUFVO0FBQ05qQixpQkFBU2tCLE1BQU1sQjtBQURULEtBQVY7QUFBQSxDQURZLEVBSVo7QUFBQSxXQUFhLEVBQUNELGtCQUFELEVBQWI7QUFBQSxDQUpZLEVBS2Qsc0JBQU9GLGtCQUFQLENBTGMsQ0FBaEI7O2tCQU9lb0IsTyIsImZpbGUiOiIuL3NyYy9jb21wb25lbnRzL2NvcmUvVG9vbGJhci5yZWFjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyYW1kYSc7XG5pbXBvcnQge3JlZG8sIHVuZG99IGZyb20gJy4uLy4uL2FjdGlvbnMvaW5kZXguanMnO1xuaW1wb3J0IFJhZGl1bSBmcm9tICdyYWRpdW0nO1xuXG5cbmZ1bmN0aW9uIFVuY29ubmVjdGVkVG9vbGJhcihwcm9wcykge1xuICAgIGNvbnN0IHtkaXNwYXRjaCwgaGlzdG9yeX0gPSBwcm9wcztcbiAgICBjb25zdCBzdHlsZXM9e1xuICAgICAgICBwYXJlbnRTcGFuU3R5bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgJ29wYWNpdHknOiAnMC4yJyxcbiAgICAgICAgICAgICc6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgJ29wYWNpdHknOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGljb25TdHlsZToge1xuICAgICAgICAgICAgZm9udFNpemU6IDIwXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGU6IHtcbiAgICAgICAgICAgIGZvbnRTaXplOiAxNVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdW5kb0xpbmsgPSAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBrZXk9XCJ1bmRvTGlua1wiXG4gICAgICAgICAgICBzdHlsZT17bWVyZ2Uoe1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGhpc3RvcnkucGFzdC5sZW5ndGggPyAnIzAwNzREOScgOiAnZ3JleScsXG4gICAgICAgICAgICAgICAgJ2N1cnNvcic6IGhpc3RvcnkucGFzdC5sZW5ndGggPyAncG9pbnRlcicgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgIH0sIHN0eWxlcy5wYXJlbnRTcGFuU3R5bGUpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gZGlzcGF0Y2godW5kbygpKX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17bWVyZ2UoXG4gICAgICAgICAgICAgICAge3RyYW5zZm9ybTogJ3JvdGF0ZSgyNzBkZWcpJ30sXG4gICAgICAgICAgICAgICAgc3R5bGVzLmljb25TdHlsZVxuICAgICAgICAgICAgKX0+XG4gICAgICAgICAgICAgICAgeyfihronfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMubGFiZWxTdHlsZX0+XG4gICAgICAgICAgICAgICAgdW5kb1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gICAgY29uc3QgcmVkb0xpbmsgPSAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBrZXk9XCJyZWRvTGlua1wiXG4gICAgICAgICAgICBzdHlsZT17bWVyZ2Uoe1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGhpc3RvcnkuZnV0dXJlLmxlbmd0aCA/ICcjMDA3NEQ5JyA6ICdncmV5JyxcbiAgICAgICAgICAgICAgICAnY3Vyc29yJzogaGlzdG9yeS5mdXR1cmUubGVuZ3RoID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgICdtYXJnaW5MZWZ0JzogMTBcbiAgICAgICAgICAgIH0sIHN0eWxlcy5wYXJlbnRTcGFuU3R5bGUpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gZGlzcGF0Y2gocmVkbygpKX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17bWVyZ2UoXG4gICAgICAgICAgICAgICAge3RyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknfSxcbiAgICAgICAgICAgICAgICBzdHlsZXMuaWNvblN0eWxlXG4gICAgICAgICAgICApfT5cbiAgICAgICAgICAgICAgICB7J+KGuyd9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5sYWJlbFN0eWxlfT5cbiAgICAgICAgICAgICAgICByZWRvXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJfZGFzaC11bmRvLXJlZG9cIiBcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICAnYm90dG9tJzogJzMwcHgnLFxuICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwcHgnLFxuICAgICAgICAgICAgICAgICdmb250U2l6ZSc6ICcyMHB4JyxcbiAgICAgICAgICAgICAgICAndGV4dEFsaWduJzogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgJ3pJbmRleCc6ICc5OTk5JyxcbiAgICAgICAgICAgICAgICAnYmFja2dyb3VuZENvbG9yJzogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC45KScsXG4gICAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ3JlbGF0aXZlJ1xuICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAge2hpc3RvcnkucGFzdC5sZW5ndGggPiAwID8gdW5kb0xpbmsgOiBudWxsfVxuICAgICAgICAgICAgICAgIHtoaXN0b3J5LmZ1dHVyZS5sZW5ndGggPiAwID8gcmVkb0xpbmsgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cblVuY29ubmVjdGVkVG9vbGJhci5wcm9wVHlwZXMgPSB7XG4gICAgaGlzdG9yeTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNwYXRjaDogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5jb25zdCBUb29sYmFyID0gY29ubmVjdChcbiAgICBzdGF0ZSA9PiAoe1xuICAgICAgICBoaXN0b3J5OiBzdGF0ZS5oaXN0b3J5XG4gICAgfSksXG4gICAgZGlzcGF0Y2ggPT4gKHtkaXNwYXRjaH0pXG4pKFJhZGl1bShVbmNvbm5lY3RlZFRvb2xiYXIpKTtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbGJhcjtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/core/Toolbar.react.js\n"); /***/ }), @@ -5342,7 +5306,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar REDIRECT_URI_PATHNAME = exports.REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nvar OAUTH_COOKIE_NAME = exports.OAUTH_COOKIE_NAME = 'plotly_oauth_token';//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbnN0YW50cy9jb25zdGFudHMuanM/ZTZmZCJdLCJuYW1lcyI6WyJSRURJUkVDVF9VUklfUEFUSE5BTUUiLCJPQVVUSF9DT09LSUVfTkFNRSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxJQUFNQSx3REFBd0IsbUJBQTlCO0FBQ0EsSUFBTUMsZ0RBQW9CLG9CQUExQiIsImZpbGUiOiIuL3NyYy9jb25zdGFudHMvY29uc3RhbnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJFRElSRUNUX1VSSV9QQVRITkFNRSA9ICcvX29hdXRoMi9jYWxsYmFjayc7XHJcbmV4cG9ydCBjb25zdCBPQVVUSF9DT09LSUVfTkFNRSA9ICdwbG90bHlfb2F1dGhfdG9rZW4nXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/constants/constants.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar REDIRECT_URI_PATHNAME = exports.REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nvar OAUTH_COOKIE_NAME = exports.OAUTH_COOKIE_NAME = 'plotly_oauth_token';\n\nvar STATUS = exports.STATUS = {\n OK: 200\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2NvbnN0YW50cy9jb25zdGFudHMuanM/ZTZmZCJdLCJuYW1lcyI6WyJSRURJUkVDVF9VUklfUEFUSE5BTUUiLCJPQVVUSF9DT09LSUVfTkFNRSIsIlNUQVRVUyIsIk9LIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFPLElBQU1BLHdEQUF3QixtQkFBOUI7QUFDQSxJQUFNQyxnREFBb0Isb0JBQTFCOztBQUVBLElBQU1DLDBCQUFTO0FBQ2xCQyxRQUFJO0FBRGMsQ0FBZiIsImZpbGUiOiIuL3NyYy9jb25zdGFudHMvY29uc3RhbnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJFRElSRUNUX1VSSV9QQVRITkFNRSA9ICcvX29hdXRoMi9jYWxsYmFjayc7XG5leHBvcnQgY29uc3QgT0FVVEhfQ09PS0lFX05BTUUgPSAncGxvdGx5X29hdXRoX3Rva2VuJztcblxuZXhwb3J0IGNvbnN0IFNUQVRVUyA9IHtcbiAgICBPSzogMjAwLFxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/constants/constants.js\n"); /***/ }), @@ -5354,7 +5318,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/*eslint-env browser */\n\n\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar React = _interopRequireDefault(_react).default;\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar ReactDOM = _interopRequireDefault(_reactDom).default;\n\nvar _AppProvider = __webpack_require__(/*! ./AppProvider.react */ \"./src/AppProvider.react.js\");\n\nvar AppProvider = _interopRequireDefault(_AppProvider).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nReactDOM.render(React.createElement(AppProvider, null), document.getElementById('react-entry-point'));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsiUmVhY3QiLCJSZWFjdERPTSIsIkFwcFByb3ZpZGVyIiwicmVuZGVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRWE7O0FBRWI7O0lBQU9BLEs7O0FBQ1A7O0lBQU9DLFE7O0FBQ1A7O0lBQU9DLFc7Ozs7QUFHUEQsU0FBU0UsTUFBVCxDQUNJLG9CQUFDLFdBQUQsT0FESixFQUVJQyxTQUFTQyxjQUFULENBQXdCLG1CQUF4QixDQUZKIiwiZmlsZSI6Ii4vc3JjL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyplc2xpbnQtZW52IGJyb3dzZXIgKi9cclxuXHJcbid1c2Ugc3RyaWN0JztcclxuXHJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xyXG5pbXBvcnQgQXBwUHJvdmlkZXIgZnJvbSAnLi9BcHBQcm92aWRlci5yZWFjdCc7XHJcblxyXG5cclxuUmVhY3RET00ucmVuZGVyKFxyXG4gICAgPEFwcFByb3ZpZGVyLz4sXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVhY3QtZW50cnktcG9pbnQnKVxyXG4pO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/index.js\n"); +eval("/* eslint-env browser */\n\n\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _AppProvider = __webpack_require__(/*! ./AppProvider.react */ \"./src/AppProvider.react.js\");\n\nvar _AppProvider2 = _interopRequireDefault(_AppProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_reactDom2.default.render(_react2.default.createElement(_AppProvider2.default, null), document.getElementById('react-entry-point'));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsiUmVhY3RET00iLCJyZW5kZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFYTs7QUFFYjs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBQSxtQkFBU0MsTUFBVCxDQUFnQiw4QkFBQyxxQkFBRCxPQUFoQixFQUFpQ0MsU0FBU0MsY0FBVCxDQUF3QixtQkFBeEIsQ0FBakMiLCJmaWxlIjoiLi9zcmMvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZW52IGJyb3dzZXIgKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgQXBwUHJvdmlkZXIgZnJvbSAnLi9BcHBQcm92aWRlci5yZWFjdCc7XG5cblJlYWN0RE9NLnJlbmRlcig8QXBwUHJvdmlkZXIgLz4sIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWFjdC1lbnRyeS1wb2ludCcpKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.js\n"); /***/ }), @@ -5366,7 +5330,7 @@ eval("/*eslint-env browser */\n\n\n\nvar _react = __webpack_require__(/*! react /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loginRequest = exports.layoutRequest = exports.dependenciesRequest = undefined;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar assoc = _ramda.assoc;\nvar assocPath = _ramda.assocPath;\nvar merge = _ramda.merge;\n\n\nfunction createApiReducer(store) {\n return function ApiReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n var newState = state;\n if (action.type === store) {\n var payload = action.payload;\n\n if (Array.isArray(payload.id)) {\n newState = assocPath(payload.id, {\n status: payload.status,\n content: payload.content\n }, state);\n } else if (payload.id) {\n newState = assoc(payload.id, {\n status: payload.status,\n content: payload.content\n }, state);\n } else {\n newState = merge(state, { status: payload.status, content: payload.content });\n }\n }\n return newState;\n };\n}\n\nvar dependenciesRequest = exports.dependenciesRequest = createApiReducer('dependenciesRequest');\nvar layoutRequest = exports.layoutRequest = createApiReducer('layoutRequest');\nvar loginRequest = exports.loginRequest = createApiReducer('loginRequest');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2FwaS5qcz85NjY1Il0sIm5hbWVzIjpbImFzc29jIiwiYXNzb2NQYXRoIiwibWVyZ2UiLCJjcmVhdGVBcGlSZWR1Y2VyIiwic3RvcmUiLCJBcGlSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJuZXdTdGF0ZSIsInR5cGUiLCJwYXlsb2FkIiwiQXJyYXkiLCJpc0FycmF5IiwiaWQiLCJzdGF0dXMiLCJjb250ZW50IiwiZGVwZW5kZW5jaWVzUmVxdWVzdCIsImxheW91dFJlcXVlc3QiLCJsb2dpblJlcXVlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7SUFBUUEsSyxVQUFBQSxLO0lBQU9DLFMsVUFBQUEsUztJQUFXQyxLLFVBQUFBLEs7OztBQUUxQixTQUFTQyxnQkFBVCxDQUEwQkMsS0FBMUIsRUFBaUM7QUFDN0IsV0FBTyxTQUFTQyxVQUFULEdBQXdDO0FBQUEsWUFBcEJDLEtBQW9CLHVFQUFaLEVBQVk7QUFBQSxZQUFSQyxNQUFROztBQUMzQyxZQUFJQyxXQUFXRixLQUFmO0FBQ0EsWUFBSUMsT0FBT0UsSUFBUCxLQUFnQkwsS0FBcEIsRUFBMkI7QUFBQSxnQkFDaEJNLE9BRGdCLEdBQ0xILE1BREssQ0FDaEJHLE9BRGdCOztBQUV2QixnQkFBSUMsTUFBTUMsT0FBTixDQUFjRixRQUFRRyxFQUF0QixDQUFKLEVBQStCO0FBQzNCTCwyQkFBV1AsVUFBVVMsUUFBUUcsRUFBbEIsRUFBc0I7QUFDN0JDLDRCQUFRSixRQUFRSSxNQURhO0FBRTdCQyw2QkFBU0wsUUFBUUs7QUFGWSxpQkFBdEIsRUFHUlQsS0FIUSxDQUFYO0FBSUgsYUFMRCxNQUtPLElBQUlJLFFBQVFHLEVBQVosRUFBZ0I7QUFDbkJMLDJCQUFXUixNQUFNVSxRQUFRRyxFQUFkLEVBQWtCO0FBQ3pCQyw0QkFBUUosUUFBUUksTUFEUztBQUV6QkMsNkJBQVNMLFFBQVFLO0FBRlEsaUJBQWxCLEVBR1JULEtBSFEsQ0FBWDtBQUlILGFBTE0sTUFLQTtBQUNIRSwyQkFBV04sTUFDUEksS0FETyxFQUVQLEVBQUNRLFFBQVFKLFFBQVFJLE1BQWpCLEVBQXlCQyxTQUFTTCxRQUFRSyxPQUExQyxFQUZPLENBQVg7QUFJSDtBQUNKO0FBQ0QsZUFBT1AsUUFBUDtBQUNILEtBdEJEO0FBdUJIOztBQUVNLElBQU1RLG9EQUFzQmIsaUJBQWlCLHFCQUFqQixDQUE1QjtBQUNBLElBQU1jLHdDQUFnQmQsaUJBQWlCLGVBQWpCLENBQXRCO0FBQ0EsSUFBTWUsc0NBQWVmLGlCQUFpQixjQUFqQixDQUFyQiIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9hcGkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Fzc29jLCBhc3NvY1BhdGgsIG1lcmdlfSBmcm9tICdyYW1kYSc7XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVBcGlSZWR1Y2VyKHN0b3JlKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gQXBpUmVkdWNlcihzdGF0ZSA9IHt9LCBhY3Rpb24pIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICBpZiAoYWN0aW9uLnR5cGUgPT09IHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtwYXlsb2FkfSA9IGFjdGlvbjtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZC5pZCkpIHtcclxuICAgICAgICAgICAgICAgIG5ld1N0YXRlID0gYXNzb2NQYXRoKHBheWxvYWQuaWQsIHtcclxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHBheWxvYWQuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHBheWxvYWQuY29udGVudFxyXG4gICAgICAgICAgICAgICAgfSwgc3RhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBheWxvYWQuaWQpIHtcclxuICAgICAgICAgICAgICAgIG5ld1N0YXRlID0gYXNzb2MocGF5bG9hZC5pZCwge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogcGF5bG9hZC5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogcGF5bG9hZC5jb250ZW50XHJcbiAgICAgICAgICAgICAgICB9LCBzdGF0ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZSA9IG1lcmdlKFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHtzdGF0dXM6IHBheWxvYWQuc3RhdHVzLCBjb250ZW50OiBwYXlsb2FkLmNvbnRlbnR9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBkZXBlbmRlbmNpZXNSZXF1ZXN0ID0gY3JlYXRlQXBpUmVkdWNlcignZGVwZW5kZW5jaWVzUmVxdWVzdCcpO1xyXG5leHBvcnQgY29uc3QgbGF5b3V0UmVxdWVzdCA9IGNyZWF0ZUFwaVJlZHVjZXIoJ2xheW91dFJlcXVlc3QnKTtcclxuZXhwb3J0IGNvbnN0IGxvZ2luUmVxdWVzdCA9IGNyZWF0ZUFwaVJlZHVjZXIoJ2xvZ2luUmVxdWVzdCcpO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/api.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loginRequest = exports.layoutRequest = exports.dependenciesRequest = undefined;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nfunction createApiReducer(store) {\n return function ApiReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n var newState = state;\n if (action.type === store) {\n var payload = action.payload;\n\n if (Array.isArray(payload.id)) {\n newState = (0, _ramda.assocPath)(payload.id, {\n status: payload.status,\n content: payload.content\n }, state);\n } else if (payload.id) {\n newState = (0, _ramda.assoc)(payload.id, {\n status: payload.status,\n content: payload.content\n }, state);\n } else {\n newState = (0, _ramda.merge)(state, {\n status: payload.status,\n content: payload.content\n });\n }\n }\n return newState;\n };\n}\n\nvar dependenciesRequest = exports.dependenciesRequest = createApiReducer('dependenciesRequest');\nvar layoutRequest = exports.layoutRequest = createApiReducer('layoutRequest');\nvar loginRequest = exports.loginRequest = createApiReducer('loginRequest');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2FwaS5qcz85NjY1Il0sIm5hbWVzIjpbImNyZWF0ZUFwaVJlZHVjZXIiLCJzdG9yZSIsIkFwaVJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIm5ld1N0YXRlIiwidHlwZSIsInBheWxvYWQiLCJBcnJheSIsImlzQXJyYXkiLCJpZCIsInN0YXR1cyIsImNvbnRlbnQiLCJkZXBlbmRlbmNpZXNSZXF1ZXN0IiwibGF5b3V0UmVxdWVzdCIsImxvZ2luUmVxdWVzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBLFNBQVNBLGdCQUFULENBQTBCQyxLQUExQixFQUFpQztBQUM3QixXQUFPLFNBQVNDLFVBQVQsR0FBd0M7QUFBQSxZQUFwQkMsS0FBb0IsdUVBQVosRUFBWTtBQUFBLFlBQVJDLE1BQVE7O0FBQzNDLFlBQUlDLFdBQVdGLEtBQWY7QUFDQSxZQUFJQyxPQUFPRSxJQUFQLEtBQWdCTCxLQUFwQixFQUEyQjtBQUFBLGdCQUNoQk0sT0FEZ0IsR0FDTEgsTUFESyxDQUNoQkcsT0FEZ0I7O0FBRXZCLGdCQUFJQyxNQUFNQyxPQUFOLENBQWNGLFFBQVFHLEVBQXRCLENBQUosRUFBK0I7QUFDM0JMLDJCQUFXLHNCQUNQRSxRQUFRRyxFQURELEVBRVA7QUFDSUMsNEJBQVFKLFFBQVFJLE1BRHBCO0FBRUlDLDZCQUFTTCxRQUFRSztBQUZyQixpQkFGTyxFQU1QVCxLQU5PLENBQVg7QUFRSCxhQVRELE1BU08sSUFBSUksUUFBUUcsRUFBWixFQUFnQjtBQUNuQkwsMkJBQVcsa0JBQ1BFLFFBQVFHLEVBREQsRUFFUDtBQUNJQyw0QkFBUUosUUFBUUksTUFEcEI7QUFFSUMsNkJBQVNMLFFBQVFLO0FBRnJCLGlCQUZPLEVBTVBULEtBTk8sQ0FBWDtBQVFILGFBVE0sTUFTQTtBQUNIRSwyQkFBVyxrQkFBTUYsS0FBTixFQUFhO0FBQ3BCUSw0QkFBUUosUUFBUUksTUFESTtBQUVwQkMsNkJBQVNMLFFBQVFLO0FBRkcsaUJBQWIsQ0FBWDtBQUlIO0FBQ0o7QUFDRCxlQUFPUCxRQUFQO0FBQ0gsS0E5QkQ7QUErQkg7O0FBRU0sSUFBTVEsb0RBQXNCYixpQkFBaUIscUJBQWpCLENBQTVCO0FBQ0EsSUFBTWMsd0NBQWdCZCxpQkFBaUIsZUFBakIsQ0FBdEI7QUFDQSxJQUFNZSxzQ0FBZWYsaUJBQWlCLGNBQWpCLENBQXJCIiwiZmlsZSI6Ii4vc3JjL3JlZHVjZXJzL2FwaS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzb2MsIGFzc29jUGF0aCwgbWVyZ2V9IGZyb20gJ3JhbWRhJztcblxuZnVuY3Rpb24gY3JlYXRlQXBpUmVkdWNlcihzdG9yZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBBcGlSZWR1Y2VyKHN0YXRlID0ge30sIGFjdGlvbikge1xuICAgICAgICBsZXQgbmV3U3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBzdG9yZSkge1xuICAgICAgICAgICAgY29uc3Qge3BheWxvYWR9ID0gYWN0aW9uO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZC5pZCkpIHtcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZSA9IGFzc29jUGF0aChcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5pZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBwYXlsb2FkLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkLmlkKSB7XG4gICAgICAgICAgICAgICAgbmV3U3RhdGUgPSBhc3NvYyhcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5pZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBwYXlsb2FkLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZSA9IG1lcmdlKHN0YXRlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogcGF5bG9hZC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlcGVuZGVuY2llc1JlcXVlc3QgPSBjcmVhdGVBcGlSZWR1Y2VyKCdkZXBlbmRlbmNpZXNSZXF1ZXN0Jyk7XG5leHBvcnQgY29uc3QgbGF5b3V0UmVxdWVzdCA9IGNyZWF0ZUFwaVJlZHVjZXIoJ2xheW91dFJlcXVlc3QnKTtcbmV4cG9ydCBjb25zdCBsb2dpblJlcXVlc3QgPSBjcmVhdGVBcGlSZWR1Y2VyKCdsb2dpblJlcXVlc3QnKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/reducers/api.js\n"); /***/ }), @@ -5378,7 +5342,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar ACTIONS = _constants.ACTIONS;\n\nvar _constants2 = __webpack_require__(/*! ./constants */ \"./src/reducers/constants.js\");\n\nvar APP_STATES = _constants2.APP_STATES;\n\n\nfunction appLifecycle() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : APP_STATES('STARTED');\n var action = arguments[1];\n\n switch (action.type) {\n case ACTIONS('SET_APP_LIFECYCLE'):\n return APP_STATES(action.payload);\n default:\n return state;\n }\n}\n\nexports.default = appLifecycle;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2FwcExpZmVjeWNsZS5qcz9mNjM1Il0sIm5hbWVzIjpbIkFDVElPTlMiLCJBUFBfU1RBVEVTIiwiYXBwTGlmZWN5Y2xlIiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwicGF5bG9hZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBQVFBLE8sY0FBQUEsTzs7QUFDUjs7SUFBUUMsVSxlQUFBQSxVOzs7QUFFUixTQUFTQyxZQUFULEdBQTJEO0FBQUEsUUFBckNDLEtBQXFDLHVFQUEvQkYsV0FBVyxTQUFYLENBQStCO0FBQUEsUUFBUkcsTUFBUTs7QUFDdkQsWUFBUUEsT0FBT0MsSUFBZjtBQUNJLGFBQUtMLFFBQVEsbUJBQVIsQ0FBTDtBQUNJLG1CQUFPQyxXQUFXRyxPQUFPRSxPQUFsQixDQUFQO0FBQ0o7QUFDSSxtQkFBT0gsS0FBUDtBQUpSO0FBTUg7O2tCQUVjRCxZIiwiZmlsZSI6Ii4vc3JjL3JlZHVjZXJzL2FwcExpZmVjeWNsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QUNUSU9OU30gZnJvbSAnLi4vYWN0aW9ucy9jb25zdGFudHMnO1xyXG5pbXBvcnQge0FQUF9TVEFURVN9IGZyb20gJy4vY29uc3RhbnRzJztcclxuXHJcbmZ1bmN0aW9uIGFwcExpZmVjeWNsZShzdGF0ZT1BUFBfU1RBVEVTKCdTVEFSVEVEJyksIGFjdGlvbikge1xyXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgQUNUSU9OUygnU0VUX0FQUF9MSUZFQ1lDTEUnKTpcclxuICAgICAgICAgICAgcmV0dXJuIEFQUF9TVEFURVMoYWN0aW9uLnBheWxvYWQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgYXBwTGlmZWN5Y2xlO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/appLifecycle.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar _constants2 = __webpack_require__(/*! ./constants */ \"./src/reducers/constants.js\");\n\nfunction appLifecycle() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _constants2.getAppState)('STARTED');\n var action = arguments[1];\n\n switch (action.type) {\n case (0, _constants.getAction)('SET_APP_LIFECYCLE'):\n return (0, _constants2.getAppState)(action.payload);\n default:\n return state;\n }\n}\n\nexports.default = appLifecycle;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2FwcExpZmVjeWNsZS5qcz9mNjM1Il0sIm5hbWVzIjpbImFwcExpZmVjeWNsZSIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInBheWxvYWQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVBLFNBQVNBLFlBQVQsR0FBOEQ7QUFBQSxRQUF4Q0MsS0FBd0MsdUVBQWhDLDZCQUFZLFNBQVosQ0FBZ0M7QUFBQSxRQUFSQyxNQUFROztBQUMxRCxZQUFRQSxPQUFPQyxJQUFmO0FBQ0ksYUFBSywwQkFBVSxtQkFBVixDQUFMO0FBQ0ksbUJBQU8sNkJBQVlELE9BQU9FLE9BQW5CLENBQVA7QUFDSjtBQUNJLG1CQUFPSCxLQUFQO0FBSlI7QUFNSDs7a0JBRWNELFkiLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvYXBwTGlmZWN5Y2xlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRBY3Rpb259IGZyb20gJy4uL2FjdGlvbnMvY29uc3RhbnRzJztcbmltcG9ydCB7Z2V0QXBwU3RhdGV9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZnVuY3Rpb24gYXBwTGlmZWN5Y2xlKHN0YXRlID0gZ2V0QXBwU3RhdGUoJ1NUQVJURUQnKSwgYWN0aW9uKSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIGdldEFjdGlvbignU0VUX0FQUF9MSUZFQ1lDTEUnKTpcbiAgICAgICAgICAgIHJldHVybiBnZXRBcHBTdGF0ZShhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBhcHBMaWZlY3ljbGU7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/appLifecycle.js\n"); /***/ }), @@ -5390,7 +5354,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = config;\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar ACTIONS = _constants.ACTIONS;\nfunction config() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments[1];\n\n if (action.type === ACTIONS('READ_CONFIG')) {\n return JSON.parse(document.getElementById('_dash-config').textContent);\n } else {\n return state;\n }\n} /* global document:true *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2NvbmZpZy5qcz82M2Q5Il0sIm5hbWVzIjpbImNvbmZpZyIsIkFDVElPTlMiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJKU09OIiwicGFyc2UiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidGV4dENvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUd3QkEsTTs7QUFGeEI7O0lBQVFDLE8sY0FBQUEsTztBQUVPLFNBQVNELE1BQVQsR0FBdUM7QUFBQSxRQUF0QkUsS0FBc0IsdUVBQWQsSUFBYztBQUFBLFFBQVJDLE1BQVE7O0FBQ2xELFFBQUlBLE9BQU9DLElBQVAsS0FBZ0JILFFBQVEsYUFBUixDQUFwQixFQUE0QztBQUN4QyxlQUFPSSxLQUFLQyxLQUFMLENBQVdDLFNBQVNDLGNBQVQsQ0FBd0IsY0FBeEIsRUFBd0NDLFdBQW5ELENBQVA7QUFDSCxLQUZELE1BRU87QUFDSCxlQUFPUCxLQUFQO0FBQ0g7QUFDSixDLENBVEQiLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvY29uZmlnLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGRvY3VtZW50OnRydWUgKi9cclxuaW1wb3J0IHtBQ1RJT05TfSBmcm9tICcuLi9hY3Rpb25zL2NvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb25maWcgKHN0YXRlID0gbnVsbCwgYWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IEFDVElPTlMoJ1JFQURfQ09ORklHJykpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Rhc2gtY29uZmlnJykudGV4dENvbnRlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc3RhdGU7XHJcbiAgICB9XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/reducers/config.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = config;\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nfunction config() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments[1];\n\n if (action.type === (0, _constants.getAction)('READ_CONFIG')) {\n return JSON.parse(document.getElementById('_dash-config').textContent);\n }\n return state;\n} /* global document:true *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2NvbmZpZy5qcz82M2Q5Il0sIm5hbWVzIjpbImNvbmZpZyIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIkpTT04iLCJwYXJzZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ0ZXh0Q29udGVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBR3dCQSxNOztBQUZ4Qjs7QUFFZSxTQUFTQSxNQUFULEdBQXNDO0FBQUEsUUFBdEJDLEtBQXNCLHVFQUFkLElBQWM7QUFBQSxRQUFSQyxNQUFROztBQUNqRCxRQUFJQSxPQUFPQyxJQUFQLEtBQWdCLDBCQUFVLGFBQVYsQ0FBcEIsRUFBOEM7QUFDMUMsZUFBT0MsS0FBS0MsS0FBTCxDQUFXQyxTQUFTQyxjQUFULENBQXdCLGNBQXhCLEVBQXdDQyxXQUFuRCxDQUFQO0FBQ0g7QUFDRCxXQUFPUCxLQUFQO0FBQ0gsQyxDQVJEIiwiZmlsZSI6Ii4vc3JjL3JlZHVjZXJzL2NvbmZpZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBkb2N1bWVudDp0cnVlICovXG5pbXBvcnQge2dldEFjdGlvbn0gZnJvbSAnLi4vYWN0aW9ucy9jb25zdGFudHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb25maWcoc3RhdGUgPSBudWxsLCBhY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IGdldEFjdGlvbignUkVBRF9DT05GSUcnKSkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Rhc2gtY29uZmlnJykudGV4dENvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/config.js\n"); /***/ }), @@ -5402,7 +5366,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.APP_STATES = APP_STATES;\nfunction APP_STATES(state) {\n var stateList = {\n 'STARTED': 'STARTED',\n 'HYDRATED': 'HYDRATED'\n };\n if (stateList[state]) return stateList[state];else throw new Error(state + ' is not a valid app state.');\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2NvbnN0YW50cy5qcz8xYzNmIl0sIm5hbWVzIjpbIkFQUF9TVEFURVMiLCJzdGF0ZSIsInN0YXRlTGlzdCIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OztRQUFnQkEsVSxHQUFBQSxVO0FBQVQsU0FBU0EsVUFBVCxDQUFvQkMsS0FBcEIsRUFBMkI7QUFDOUIsUUFBTUMsWUFBWTtBQUNkLG1CQUFXLFNBREc7QUFFZCxvQkFBWTtBQUZFLEtBQWxCO0FBSUEsUUFBSUEsVUFBVUQsS0FBVixDQUFKLEVBQXNCLE9BQU9DLFVBQVVELEtBQVYsQ0FBUCxDQUF0QixLQUNLLE1BQU0sSUFBSUUsS0FBSixDQUFjRixLQUFkLGdDQUFOO0FBQ1IiLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvY29uc3RhbnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIEFQUF9TVEFURVMoc3RhdGUpIHtcclxuICAgIGNvbnN0IHN0YXRlTGlzdCA9IHtcclxuICAgICAgICAnU1RBUlRFRCc6ICdTVEFSVEVEJyxcclxuICAgICAgICAnSFlEUkFURUQnOiAnSFlEUkFURUQnXHJcbiAgICB9XHJcbiAgICBpZiAoc3RhdGVMaXN0W3N0YXRlXSkgcmV0dXJuIHN0YXRlTGlzdFtzdGF0ZV07XHJcbiAgICBlbHNlIHRocm93IG5ldyBFcnJvciAoYCR7c3RhdGV9IGlzIG5vdCBhIHZhbGlkIGFwcCBzdGF0ZS5gKTtcclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/constants.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAppState = getAppState;\nfunction getAppState(state) {\n var stateList = {\n STARTED: 'STARTED',\n HYDRATED: 'HYDRATED'\n };\n if (stateList[state]) {\n return stateList[state];\n }\n throw new Error(state + ' is not a valid app state.');\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2NvbnN0YW50cy5qcz8xYzNmIl0sIm5hbWVzIjpbImdldEFwcFN0YXRlIiwic3RhdGUiLCJzdGF0ZUxpc3QiLCJTVEFSVEVEIiwiSFlEUkFURUQiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7UUFBZ0JBLFcsR0FBQUEsVztBQUFULFNBQVNBLFdBQVQsQ0FBcUJDLEtBQXJCLEVBQTRCO0FBQy9CLFFBQU1DLFlBQVk7QUFDZEMsaUJBQVMsU0FESztBQUVkQyxrQkFBVTtBQUZJLEtBQWxCO0FBSUEsUUFBSUYsVUFBVUQsS0FBVixDQUFKLEVBQXNCO0FBQ2xCLGVBQU9DLFVBQVVELEtBQVYsQ0FBUDtBQUNIO0FBQ0QsVUFBTSxJQUFJSSxLQUFKLENBQWFKLEtBQWIsZ0NBQU47QUFDSCIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9jb25zdGFudHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0QXBwU3RhdGUoc3RhdGUpIHtcbiAgICBjb25zdCBzdGF0ZUxpc3QgPSB7XG4gICAgICAgIFNUQVJURUQ6ICdTVEFSVEVEJyxcbiAgICAgICAgSFlEUkFURUQ6ICdIWURSQVRFRCcsXG4gICAgfTtcbiAgICBpZiAoc3RhdGVMaXN0W3N0YXRlXSkge1xuICAgICAgICByZXR1cm4gc3RhdGVMaXN0W3N0YXRlXTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3N0YXRlfSBpcyBub3QgYSB2YWxpZCBhcHAgc3RhdGUuYCk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/constants.js\n"); /***/ }), @@ -5414,7 +5378,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dependencyGraph = __webpack_require__(/*! dependency-graph */ \"./node_modules/dependency-graph/lib/dep_graph.js\");\n\nvar DepGraph = _dependencyGraph.DepGraph;\n\n\nvar initialGraph = {};\n\nvar graphs = function graphs() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialGraph;\n var action = arguments[1];\n\n switch (action.type) {\n case 'COMPUTE_GRAPHS':\n {\n var dependencies = action.payload;\n var inputGraph = new DepGraph();\n var eventGraph = new DepGraph();\n\n dependencies.forEach(function registerDependency(dependency) {\n var output = dependency.output,\n inputs = dependency.inputs,\n events = dependency.events;\n\n var outputId = output.id + '.' + output.property;\n inputs.forEach(function (inputObject) {\n var inputId = inputObject.id + '.' + inputObject.property;\n inputGraph.addNode(outputId);\n inputGraph.addNode(inputId);\n inputGraph.addDependency(inputId, outputId);\n });\n events.forEach(function (eventObject) {\n var eventId = eventObject.id + '.' + eventObject.event;\n eventGraph.addNode(outputId);\n eventGraph.addNode(eventId);\n eventGraph.addDependency(eventId, outputId);\n });\n });\n\n return { InputGraph: inputGraph, EventGraph: eventGraph };\n }\n\n default:\n return state;\n\n }\n};\n\nexports.default = graphs;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2RlcGVuZGVuY3lHcmFwaC5qcz84ODlkIl0sIm5hbWVzIjpbIkRlcEdyYXBoIiwiaW5pdGlhbEdyYXBoIiwiZ3JhcGhzIiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwiZGVwZW5kZW5jaWVzIiwicGF5bG9hZCIsImlucHV0R3JhcGgiLCJldmVudEdyYXBoIiwiZm9yRWFjaCIsInJlZ2lzdGVyRGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJvdXRwdXQiLCJpbnB1dHMiLCJldmVudHMiLCJvdXRwdXRJZCIsImlkIiwicHJvcGVydHkiLCJpbnB1dElkIiwiaW5wdXRPYmplY3QiLCJhZGROb2RlIiwiYWRkRGVwZW5kZW5jeSIsImV2ZW50SWQiLCJldmVudE9iamVjdCIsImV2ZW50IiwiSW5wdXRHcmFwaCIsIkV2ZW50R3JhcGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztJQUFRQSxRLG9CQUFBQSxROzs7QUFFUixJQUFNQyxlQUFlLEVBQXJCOztBQUVBLElBQU1DLFNBQVMsU0FBVEEsTUFBUyxHQUFrQztBQUFBLFFBQWpDQyxLQUFpQyx1RUFBekJGLFlBQXlCO0FBQUEsUUFBWEcsTUFBVzs7QUFDN0MsWUFBUUEsT0FBT0MsSUFBZjtBQUNJLGFBQUssZ0JBQUw7QUFBdUI7QUFDbkIsb0JBQU1DLGVBQWVGLE9BQU9HLE9BQTVCO0FBQ0Esb0JBQU1DLGFBQWEsSUFBSVIsUUFBSixFQUFuQjtBQUNBLG9CQUFNUyxhQUFhLElBQUlULFFBQUosRUFBbkI7O0FBRUFNLDZCQUFhSSxPQUFiLENBQXFCLFNBQVNDLGtCQUFULENBQTRCQyxVQUE1QixFQUF3QztBQUFBLHdCQUNsREMsTUFEa0QsR0FDeEJELFVBRHdCLENBQ2xEQyxNQURrRDtBQUFBLHdCQUMxQ0MsTUFEMEMsR0FDeEJGLFVBRHdCLENBQzFDRSxNQUQwQztBQUFBLHdCQUNsQ0MsTUFEa0MsR0FDeEJILFVBRHdCLENBQ2xDRyxNQURrQzs7QUFFekQsd0JBQU1DLFdBQWNILE9BQU9JLEVBQXJCLFNBQTJCSixPQUFPSyxRQUF4QztBQUNBSiwyQkFBT0osT0FBUCxDQUFlLHVCQUFlO0FBQzFCLDRCQUFNUyxVQUFhQyxZQUFZSCxFQUF6QixTQUErQkcsWUFBWUYsUUFBakQ7QUFDQVYsbUNBQVdhLE9BQVgsQ0FBbUJMLFFBQW5CO0FBQ0FSLG1DQUFXYSxPQUFYLENBQW1CRixPQUFuQjtBQUNBWCxtQ0FBV2MsYUFBWCxDQUF5QkgsT0FBekIsRUFBa0NILFFBQWxDO0FBQ0gscUJBTEQ7QUFNQUQsMkJBQU9MLE9BQVAsQ0FBZSx1QkFBZTtBQUMxQiw0QkFBTWEsVUFBYUMsWUFBWVAsRUFBekIsU0FBK0JPLFlBQVlDLEtBQWpEO0FBQ0FoQixtQ0FBV1ksT0FBWCxDQUFtQkwsUUFBbkI7QUFDQVAsbUNBQVdZLE9BQVgsQ0FBbUJFLE9BQW5CO0FBQ0FkLG1DQUFXYSxhQUFYLENBQXlCQyxPQUF6QixFQUFrQ1AsUUFBbEM7QUFDSCxxQkFMRDtBQU1ILGlCQWZEOztBQWlCQSx1QkFBTyxFQUFDVSxZQUFZbEIsVUFBYixFQUF5Qm1CLFlBQVlsQixVQUFyQyxFQUFQO0FBRUg7O0FBRUQ7QUFDSSxtQkFBT04sS0FBUDs7QUE1QlI7QUErQkgsQ0FoQ0Q7O2tCQWtDZUQsTSIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9kZXBlbmRlbmN5R3JhcGguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlcEdyYXBofSBmcm9tICdkZXBlbmRlbmN5LWdyYXBoJztcclxuXHJcbmNvbnN0IGluaXRpYWxHcmFwaCA9IHt9O1xyXG5cclxuY29uc3QgZ3JhcGhzID0gKHN0YXRlID0gaW5pdGlhbEdyYXBoLCBhY3Rpb24pID0+IHtcclxuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdDT01QVVRFX0dSQVBIUyc6IHtcclxuICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jaWVzID0gYWN0aW9uLnBheWxvYWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0R3JhcGggPSBuZXcgRGVwR3JhcGgoKTtcclxuICAgICAgICAgICAgY29uc3QgZXZlbnRHcmFwaCA9IG5ldyBEZXBHcmFwaCgpO1xyXG5cclxuICAgICAgICAgICAgZGVwZW5kZW5jaWVzLmZvckVhY2goZnVuY3Rpb24gcmVnaXN0ZXJEZXBlbmRlbmN5KGRlcGVuZGVuY3kpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHtvdXRwdXQsIGlucHV0cywgZXZlbnRzfSA9IGRlcGVuZGVuY3k7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXRJZCA9IGAke291dHB1dC5pZH0uJHtvdXRwdXQucHJvcGVydHl9YDtcclxuICAgICAgICAgICAgICAgIGlucHV0cy5mb3JFYWNoKGlucHV0T2JqZWN0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dElkID0gYCR7aW5wdXRPYmplY3QuaWR9LiR7aW5wdXRPYmplY3QucHJvcGVydHl9YDtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dEdyYXBoLmFkZE5vZGUob3V0cHV0SWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0R3JhcGguYWRkTm9kZShpbnB1dElkKTtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dEdyYXBoLmFkZERlcGVuZGVuY3koaW5wdXRJZCwgb3V0cHV0SWQpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBldmVudHMuZm9yRWFjaChldmVudE9iamVjdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRJZCA9IGAke2V2ZW50T2JqZWN0LmlkfS4ke2V2ZW50T2JqZWN0LmV2ZW50fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRHcmFwaC5hZGROb2RlKG91dHB1dElkKTtcclxuICAgICAgICAgICAgICAgICAgICBldmVudEdyYXBoLmFkZE5vZGUoZXZlbnRJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRHcmFwaC5hZGREZXBlbmRlbmN5KGV2ZW50SWQsIG91dHB1dElkKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7SW5wdXRHcmFwaDogaW5wdXRHcmFwaCwgRXZlbnRHcmFwaDogZXZlbnRHcmFwaH07XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZ3JhcGhzO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/dependencyGraph.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dependencyGraph = __webpack_require__(/*! dependency-graph */ \"./node_modules/dependency-graph/lib/dep_graph.js\");\n\nvar initialGraph = {};\n\nvar graphs = function graphs() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialGraph;\n var action = arguments[1];\n\n switch (action.type) {\n case 'COMPUTE_GRAPHS':\n {\n var dependencies = action.payload;\n var inputGraph = new _dependencyGraph.DepGraph();\n var eventGraph = new _dependencyGraph.DepGraph();\n\n dependencies.forEach(function registerDependency(dependency) {\n var output = dependency.output,\n inputs = dependency.inputs,\n events = dependency.events;\n\n var outputId = output.id + '.' + output.property;\n inputs.forEach(function (inputObject) {\n var inputId = inputObject.id + '.' + inputObject.property;\n inputGraph.addNode(outputId);\n inputGraph.addNode(inputId);\n inputGraph.addDependency(inputId, outputId);\n });\n events.forEach(function (eventObject) {\n var eventId = eventObject.id + '.' + eventObject.event;\n eventGraph.addNode(outputId);\n eventGraph.addNode(eventId);\n eventGraph.addDependency(eventId, outputId);\n });\n });\n\n return { InputGraph: inputGraph, EventGraph: eventGraph };\n }\n\n default:\n return state;\n }\n};\n\nexports.default = graphs;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2RlcGVuZGVuY3lHcmFwaC5qcz84ODlkIl0sIm5hbWVzIjpbImluaXRpYWxHcmFwaCIsImdyYXBocyIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsImRlcGVuZGVuY2llcyIsInBheWxvYWQiLCJpbnB1dEdyYXBoIiwiRGVwR3JhcGgiLCJldmVudEdyYXBoIiwiZm9yRWFjaCIsInJlZ2lzdGVyRGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJvdXRwdXQiLCJpbnB1dHMiLCJldmVudHMiLCJvdXRwdXRJZCIsImlkIiwicHJvcGVydHkiLCJpbnB1dElkIiwiaW5wdXRPYmplY3QiLCJhZGROb2RlIiwiYWRkRGVwZW5kZW5jeSIsImV2ZW50SWQiLCJldmVudE9iamVjdCIsImV2ZW50IiwiSW5wdXRHcmFwaCIsIkV2ZW50R3JhcGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBLElBQU1BLGVBQWUsRUFBckI7O0FBRUEsSUFBTUMsU0FBUyxTQUFUQSxNQUFTLEdBQWtDO0FBQUEsUUFBakNDLEtBQWlDLHVFQUF6QkYsWUFBeUI7QUFBQSxRQUFYRyxNQUFXOztBQUM3QyxZQUFRQSxPQUFPQyxJQUFmO0FBQ0ksYUFBSyxnQkFBTDtBQUF1QjtBQUNuQixvQkFBTUMsZUFBZUYsT0FBT0csT0FBNUI7QUFDQSxvQkFBTUMsYUFBYSxJQUFJQyx5QkFBSixFQUFuQjtBQUNBLG9CQUFNQyxhQUFhLElBQUlELHlCQUFKLEVBQW5COztBQUVBSCw2QkFBYUssT0FBYixDQUFxQixTQUFTQyxrQkFBVCxDQUE0QkMsVUFBNUIsRUFBd0M7QUFBQSx3QkFDbERDLE1BRGtELEdBQ3hCRCxVQUR3QixDQUNsREMsTUFEa0Q7QUFBQSx3QkFDMUNDLE1BRDBDLEdBQ3hCRixVQUR3QixDQUMxQ0UsTUFEMEM7QUFBQSx3QkFDbENDLE1BRGtDLEdBQ3hCSCxVQUR3QixDQUNsQ0csTUFEa0M7O0FBRXpELHdCQUFNQyxXQUFjSCxPQUFPSSxFQUFyQixTQUEyQkosT0FBT0ssUUFBeEM7QUFDQUosMkJBQU9KLE9BQVAsQ0FBZSx1QkFBZTtBQUMxQiw0QkFBTVMsVUFBYUMsWUFBWUgsRUFBekIsU0FBK0JHLFlBQVlGLFFBQWpEO0FBQ0FYLG1DQUFXYyxPQUFYLENBQW1CTCxRQUFuQjtBQUNBVCxtQ0FBV2MsT0FBWCxDQUFtQkYsT0FBbkI7QUFDQVosbUNBQVdlLGFBQVgsQ0FBeUJILE9BQXpCLEVBQWtDSCxRQUFsQztBQUNILHFCQUxEO0FBTUFELDJCQUFPTCxPQUFQLENBQWUsdUJBQWU7QUFDMUIsNEJBQU1hLFVBQWFDLFlBQVlQLEVBQXpCLFNBQStCTyxZQUFZQyxLQUFqRDtBQUNBaEIsbUNBQVdZLE9BQVgsQ0FBbUJMLFFBQW5CO0FBQ0FQLG1DQUFXWSxPQUFYLENBQW1CRSxPQUFuQjtBQUNBZCxtQ0FBV2EsYUFBWCxDQUF5QkMsT0FBekIsRUFBa0NQLFFBQWxDO0FBQ0gscUJBTEQ7QUFNSCxpQkFmRDs7QUFpQkEsdUJBQU8sRUFBQ1UsWUFBWW5CLFVBQWIsRUFBeUJvQixZQUFZbEIsVUFBckMsRUFBUDtBQUNIOztBQUVEO0FBQ0ksbUJBQU9QLEtBQVA7QUEzQlI7QUE2QkgsQ0E5QkQ7O2tCQWdDZUQsTSIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9kZXBlbmRlbmN5R3JhcGguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlcEdyYXBofSBmcm9tICdkZXBlbmRlbmN5LWdyYXBoJztcblxuY29uc3QgaW5pdGlhbEdyYXBoID0ge307XG5cbmNvbnN0IGdyYXBocyA9IChzdGF0ZSA9IGluaXRpYWxHcmFwaCwgYWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlICdDT01QVVRFX0dSQVBIUyc6IHtcbiAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRHcmFwaCA9IG5ldyBEZXBHcmFwaCgpO1xuICAgICAgICAgICAgY29uc3QgZXZlbnRHcmFwaCA9IG5ldyBEZXBHcmFwaCgpO1xuXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaChmdW5jdGlvbiByZWdpc3RlckRlcGVuZGVuY3koZGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtvdXRwdXQsIGlucHV0cywgZXZlbnRzfSA9IGRlcGVuZGVuY3k7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0SWQgPSBgJHtvdXRwdXQuaWR9LiR7b3V0cHV0LnByb3BlcnR5fWA7XG4gICAgICAgICAgICAgICAgaW5wdXRzLmZvckVhY2goaW5wdXRPYmplY3QgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dElkID0gYCR7aW5wdXRPYmplY3QuaWR9LiR7aW5wdXRPYmplY3QucHJvcGVydHl9YDtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRHcmFwaC5hZGROb2RlKG91dHB1dElkKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRHcmFwaC5hZGROb2RlKGlucHV0SWQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dEdyYXBoLmFkZERlcGVuZGVuY3koaW5wdXRJZCwgb3V0cHV0SWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGV2ZW50cy5mb3JFYWNoKGV2ZW50T2JqZWN0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRJZCA9IGAke2V2ZW50T2JqZWN0LmlkfS4ke2V2ZW50T2JqZWN0LmV2ZW50fWA7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50R3JhcGguYWRkTm9kZShvdXRwdXRJZCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50R3JhcGguYWRkTm9kZShldmVudElkKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRHcmFwaC5hZGREZXBlbmRlbmN5KGV2ZW50SWQsIG91dHB1dElkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge0lucHV0R3JhcGg6IGlucHV0R3JhcGgsIEV2ZW50R3JhcGg6IGV2ZW50R3JhcGh9O1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBncmFwaHM7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/dependencyGraph.js\n"); /***/ }), @@ -5426,7 +5390,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar initialHistory = {\n past: [],\n present: {},\n future: []\n};\n\nfunction history() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialHistory;\n var action = arguments[1];\n\n switch (action.type) {\n\n case 'UNDO':\n {\n var past = state.past,\n present = state.present,\n future = state.future;\n\n var previous = past[past.length - 1];\n var newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present].concat(_toConsumableArray(future))\n };\n }\n\n case 'REDO':\n {\n var _past = state.past,\n _present = state.present,\n _future = state.future;\n\n var next = _future[0];\n var newFuture = _future.slice(1);\n return {\n past: [].concat(_toConsumableArray(_past), [_present]),\n present: next,\n future: newFuture\n };\n }\n\n default:\n {\n return state;\n }\n\n }\n}\n\nexports.default = history;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2hpc3RvcnkuanM/YjdjNiJdLCJuYW1lcyI6WyJpbml0aWFsSGlzdG9yeSIsInBhc3QiLCJwcmVzZW50IiwiZnV0dXJlIiwiaGlzdG9yeSIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInByZXZpb3VzIiwibGVuZ3RoIiwibmV3UGFzdCIsInNsaWNlIiwibmV4dCIsIm5ld0Z1dHVyZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFNQSxpQkFBaUI7QUFDbkJDLFVBQU0sRUFEYTtBQUVuQkMsYUFBUyxFQUZVO0FBR25CQyxZQUFRO0FBSFcsQ0FBdkI7O0FBTUEsU0FBU0MsT0FBVCxHQUFrRDtBQUFBLFFBQWhDQyxLQUFnQyx1RUFBeEJMLGNBQXdCO0FBQUEsUUFBUk0sTUFBUTs7QUFDOUMsWUFBUUEsT0FBT0MsSUFBZjs7QUFFSSxhQUFLLE1BQUw7QUFBYTtBQUFBLG9CQUNGTixJQURFLEdBQ3VCSSxLQUR2QixDQUNGSixJQURFO0FBQUEsb0JBQ0lDLE9BREosR0FDdUJHLEtBRHZCLENBQ0lILE9BREo7QUFBQSxvQkFDYUMsTUFEYixHQUN1QkUsS0FEdkIsQ0FDYUYsTUFEYjs7QUFFVCxvQkFBTUssV0FBV1AsS0FBS0EsS0FBS1EsTUFBTCxHQUFjLENBQW5CLENBQWpCO0FBQ0Esb0JBQU1DLFVBQVVULEtBQUtVLEtBQUwsQ0FBVyxDQUFYLEVBQWNWLEtBQUtRLE1BQUwsR0FBYyxDQUE1QixDQUFoQjtBQUNBLHVCQUFPO0FBQ0hSLDBCQUFNUyxPQURIO0FBRUhSLDZCQUFTTSxRQUZOO0FBR0hMLDZCQUFVRCxPQUFWLDRCQUFzQkMsTUFBdEI7QUFIRyxpQkFBUDtBQUtIOztBQUVELGFBQUssTUFBTDtBQUFhO0FBQUEsb0JBQ0ZGLEtBREUsR0FDdUJJLEtBRHZCLENBQ0ZKLElBREU7QUFBQSxvQkFDSUMsUUFESixHQUN1QkcsS0FEdkIsQ0FDSUgsT0FESjtBQUFBLG9CQUNhQyxPQURiLEdBQ3VCRSxLQUR2QixDQUNhRixNQURiOztBQUVULG9CQUFNUyxPQUFPVCxRQUFPLENBQVAsQ0FBYjtBQUNBLG9CQUFNVSxZQUFZVixRQUFPUSxLQUFQLENBQWEsQ0FBYixDQUFsQjtBQUNBLHVCQUFPO0FBQ0hWLHVEQUFVQSxLQUFWLElBQWdCQyxRQUFoQixFQURHO0FBRUhBLDZCQUFTVSxJQUZOO0FBR0hULDRCQUFRVTtBQUhMLGlCQUFQO0FBS0g7O0FBRUQ7QUFBUztBQUNMLHVCQUFPUixLQUFQO0FBQ0g7O0FBMUJMO0FBNkJIOztrQkFHY0QsTyIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9oaXN0b3J5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaW5pdGlhbEhpc3RvcnkgPSB7XHJcbiAgICBwYXN0OiBbXSxcclxuICAgIHByZXNlbnQ6IHt9LFxyXG4gICAgZnV0dXJlOiBbXVxyXG59O1xyXG5cclxuZnVuY3Rpb24gaGlzdG9yeSAoc3RhdGUgPSBpbml0aWFsSGlzdG9yeSwgYWN0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XHJcblxyXG4gICAgICAgIGNhc2UgJ1VORE8nOiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtwYXN0LCBwcmVzZW50LCBmdXR1cmV9ID0gc3RhdGU7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzID0gcGFzdFtwYXN0Lmxlbmd0aCAtIDFdO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdQYXN0ID0gcGFzdC5zbGljZSgwLCBwYXN0Lmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcGFzdDogbmV3UGFzdCxcclxuICAgICAgICAgICAgICAgIHByZXNlbnQ6IHByZXZpb3VzLFxyXG4gICAgICAgICAgICAgICAgZnV0dXJlOiBbIHByZXNlbnQsIC4uLmZ1dHVyZSBdXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlICdSRURPJzoge1xyXG4gICAgICAgICAgICBjb25zdCB7cGFzdCwgcHJlc2VudCwgZnV0dXJlfSA9IHN0YXRlO1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gZnV0dXJlWzBdO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdGdXR1cmUgPSBmdXR1cmUuc2xpY2UoMSk7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwYXN0OiBbLi4ucGFzdCwgcHJlc2VudF0sXHJcbiAgICAgICAgICAgICAgICBwcmVzZW50OiBuZXh0LFxyXG4gICAgICAgICAgICAgICAgZnV0dXJlOiBuZXdGdXR1cmVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/history.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar initialHistory = {\n past: [],\n present: {},\n future: []\n};\n\nfunction history() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialHistory;\n var action = arguments[1];\n\n switch (action.type) {\n case 'UNDO':\n {\n var past = state.past,\n present = state.present,\n future = state.future;\n\n var previous = past[past.length - 1];\n var newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present].concat(_toConsumableArray(future))\n };\n }\n\n case 'REDO':\n {\n var _past = state.past,\n _present = state.present,\n _future = state.future;\n\n var next = _future[0];\n var newFuture = _future.slice(1);\n return {\n past: [].concat(_toConsumableArray(_past), [_present]),\n present: next,\n future: newFuture\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nexports.default = history;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2hpc3RvcnkuanM/YjdjNiJdLCJuYW1lcyI6WyJpbml0aWFsSGlzdG9yeSIsInBhc3QiLCJwcmVzZW50IiwiZnV0dXJlIiwiaGlzdG9yeSIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInByZXZpb3VzIiwibGVuZ3RoIiwibmV3UGFzdCIsInNsaWNlIiwibmV4dCIsIm5ld0Z1dHVyZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFNQSxpQkFBaUI7QUFDbkJDLFVBQU0sRUFEYTtBQUVuQkMsYUFBUyxFQUZVO0FBR25CQyxZQUFRO0FBSFcsQ0FBdkI7O0FBTUEsU0FBU0MsT0FBVCxHQUFpRDtBQUFBLFFBQWhDQyxLQUFnQyx1RUFBeEJMLGNBQXdCO0FBQUEsUUFBUk0sTUFBUTs7QUFDN0MsWUFBUUEsT0FBT0MsSUFBZjtBQUNJLGFBQUssTUFBTDtBQUFhO0FBQUEsb0JBQ0ZOLElBREUsR0FDdUJJLEtBRHZCLENBQ0ZKLElBREU7QUFBQSxvQkFDSUMsT0FESixHQUN1QkcsS0FEdkIsQ0FDSUgsT0FESjtBQUFBLG9CQUNhQyxNQURiLEdBQ3VCRSxLQUR2QixDQUNhRixNQURiOztBQUVULG9CQUFNSyxXQUFXUCxLQUFLQSxLQUFLUSxNQUFMLEdBQWMsQ0FBbkIsQ0FBakI7QUFDQSxvQkFBTUMsVUFBVVQsS0FBS1UsS0FBTCxDQUFXLENBQVgsRUFBY1YsS0FBS1EsTUFBTCxHQUFjLENBQTVCLENBQWhCO0FBQ0EsdUJBQU87QUFDSFIsMEJBQU1TLE9BREg7QUFFSFIsNkJBQVNNLFFBRk47QUFHSEwsNkJBQVNELE9BQVQsNEJBQXFCQyxNQUFyQjtBQUhHLGlCQUFQO0FBS0g7O0FBRUQsYUFBSyxNQUFMO0FBQWE7QUFBQSxvQkFDRkYsS0FERSxHQUN1QkksS0FEdkIsQ0FDRkosSUFERTtBQUFBLG9CQUNJQyxRQURKLEdBQ3VCRyxLQUR2QixDQUNJSCxPQURKO0FBQUEsb0JBQ2FDLE9BRGIsR0FDdUJFLEtBRHZCLENBQ2FGLE1BRGI7O0FBRVQsb0JBQU1TLE9BQU9ULFFBQU8sQ0FBUCxDQUFiO0FBQ0Esb0JBQU1VLFlBQVlWLFFBQU9RLEtBQVAsQ0FBYSxDQUFiLENBQWxCO0FBQ0EsdUJBQU87QUFDSFYsdURBQVVBLEtBQVYsSUFBZ0JDLFFBQWhCLEVBREc7QUFFSEEsNkJBQVNVLElBRk47QUFHSFQsNEJBQVFVO0FBSEwsaUJBQVA7QUFLSDs7QUFFRDtBQUFTO0FBQ0wsdUJBQU9SLEtBQVA7QUFDSDtBQXpCTDtBQTJCSDs7a0JBRWNELE8iLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvaGlzdG9yeS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGluaXRpYWxIaXN0b3J5ID0ge1xuICAgIHBhc3Q6IFtdLFxuICAgIHByZXNlbnQ6IHt9LFxuICAgIGZ1dHVyZTogW10sXG59O1xuXG5mdW5jdGlvbiBoaXN0b3J5KHN0YXRlID0gaW5pdGlhbEhpc3RvcnksIGFjdGlvbikge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnVU5ETyc6IHtcbiAgICAgICAgICAgIGNvbnN0IHtwYXN0LCBwcmVzZW50LCBmdXR1cmV9ID0gc3RhdGU7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHBhc3RbcGFzdC5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1Bhc3QgPSBwYXN0LnNsaWNlKDAsIHBhc3QubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhc3Q6IG5ld1Bhc3QsXG4gICAgICAgICAgICAgICAgcHJlc2VudDogcHJldmlvdXMsXG4gICAgICAgICAgICAgICAgZnV0dXJlOiBbcHJlc2VudCwgLi4uZnV0dXJlXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdSRURPJzoge1xuICAgICAgICAgICAgY29uc3Qge3Bhc3QsIHByZXNlbnQsIGZ1dHVyZX0gPSBzdGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBmdXR1cmVbMF07XG4gICAgICAgICAgICBjb25zdCBuZXdGdXR1cmUgPSBmdXR1cmUuc2xpY2UoMSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhc3Q6IFsuLi5wYXN0LCBwcmVzZW50XSxcbiAgICAgICAgICAgICAgICBwcmVzZW50OiBuZXh0LFxuICAgICAgICAgICAgICAgIGZ1dHVyZTogbmV3RnV0dXJlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgaGlzdG9yeTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/reducers/history.js\n"); /***/ }), @@ -5438,7 +5402,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar append = _ramda.append;\nvar assocPath = _ramda.assocPath;\nvar contains = _ramda.contains;\nvar lensPath = _ramda.lensPath;\nvar merge = _ramda.merge;\nvar view = _ramda.view;\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar ACTIONS = _constants.ACTIONS;\n\n\nvar layout = function layout() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (action.type === ACTIONS('SET_LAYOUT')) {\n\n return action.payload;\n } else if (contains(action.type, ['UNDO_PROP_CHANGE', 'REDO_PROP_CHANGE', ACTIONS('ON_PROP_CHANGE')])) {\n\n var propPath = append('props', action.payload.itempath);\n var existingProps = view(lensPath(propPath), state);\n var mergedProps = merge(existingProps, action.payload.props);\n state = assocPath(propPath, mergedProps, state);\n return state;\n } else {\n\n return state;\n }\n};\n\nexports.default = layout;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2xheW91dC5qcz8wZmY0Il0sIm5hbWVzIjpbImFwcGVuZCIsImFzc29jUGF0aCIsImNvbnRhaW5zIiwibGVuc1BhdGgiLCJtZXJnZSIsInZpZXciLCJBQ1RJT05TIiwibGF5b3V0Iiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwicGF5bG9hZCIsInByb3BQYXRoIiwiaXRlbXBhdGgiLCJleGlzdGluZ1Byb3BzIiwibWVyZ2VkUHJvcHMiLCJwcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBQVFBLE0sVUFBQUEsTTtJQUFRQyxTLFVBQUFBLFM7SUFBV0MsUSxVQUFBQSxRO0lBQVVDLFEsVUFBQUEsUTtJQUFVQyxLLFVBQUFBLEs7SUFBT0MsSSxVQUFBQSxJOztBQUV0RDs7SUFBUUMsTyxjQUFBQSxPOzs7QUFFUixJQUFNQyxTQUFTLFNBQVRBLE1BQVMsR0FBd0I7QUFBQSxRQUF2QkMsS0FBdUIsdUVBQWYsRUFBZTtBQUFBLFFBQVhDLE1BQVc7O0FBQ25DLFFBQUlBLE9BQU9DLElBQVAsS0FBZ0JKLFFBQVEsWUFBUixDQUFwQixFQUEyQzs7QUFFdkMsZUFBT0csT0FBT0UsT0FBZDtBQUVILEtBSkQsTUFJTyxJQUFJVCxTQUNQTyxPQUFPQyxJQURBLEVBRVAsQ0FBQyxrQkFBRCxFQUFxQixrQkFBckIsRUFBeUNKLFFBQVEsZ0JBQVIsQ0FBekMsQ0FGTyxDQUFKLEVBR0o7O0FBRUMsWUFBSU0sV0FBV1osT0FBTyxPQUFQLEVBQWdCUyxPQUFPRSxPQUFQLENBQWVFLFFBQS9CLENBQWY7QUFDQSxZQUFNQyxnQkFBZ0JULEtBQUtGLFNBQVNTLFFBQVQsQ0FBTCxFQUF5QkosS0FBekIsQ0FBdEI7QUFDQSxZQUFNTyxjQUFjWCxNQUFNVSxhQUFOLEVBQXFCTCxPQUFPRSxPQUFQLENBQWVLLEtBQXBDLENBQXBCO0FBQ0FSLGdCQUFRUCxVQUFVVyxRQUFWLEVBQW9CRyxXQUFwQixFQUFpQ1AsS0FBakMsQ0FBUjtBQUNBLGVBQU9BLEtBQVA7QUFFSCxLQVhNLE1BV0E7O0FBRUgsZUFBT0EsS0FBUDtBQUVIO0FBQ0osQ0FyQkQ7O2tCQXVCZUQsTSIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9sYXlvdXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FwcGVuZCwgYXNzb2NQYXRoLCBjb250YWlucywgbGVuc1BhdGgsIG1lcmdlLCB2aWV3fSBmcm9tICdyYW1kYSc7XHJcblxyXG5pbXBvcnQge0FDVElPTlN9IGZyb20gJy4uL2FjdGlvbnMvY29uc3RhbnRzJztcclxuXHJcbmNvbnN0IGxheW91dCA9IChzdGF0ZSA9IHt9LCBhY3Rpb24pID0+IHtcclxuICAgIGlmIChhY3Rpb24udHlwZSA9PT0gQUNUSU9OUygnU0VUX0xBWU9VVCcpKSB7XHJcblxyXG4gICAgICAgIHJldHVybiBhY3Rpb24ucGF5bG9hZDtcclxuXHJcbiAgICB9IGVsc2UgaWYgKGNvbnRhaW5zKFxyXG4gICAgICAgIGFjdGlvbi50eXBlLFxyXG4gICAgICAgIFsnVU5ET19QUk9QX0NIQU5HRScsICdSRURPX1BST1BfQ0hBTkdFJywgQUNUSU9OUygnT05fUFJPUF9DSEFOR0UnKV1cclxuICAgICkpIHtcclxuXHJcbiAgICAgICAgbGV0IHByb3BQYXRoID0gYXBwZW5kKCdwcm9wcycsIGFjdGlvbi5wYXlsb2FkLml0ZW1wYXRoKTtcclxuICAgICAgICBjb25zdCBleGlzdGluZ1Byb3BzID0gdmlldyhsZW5zUGF0aChwcm9wUGF0aCksIHN0YXRlKTtcclxuICAgICAgICBjb25zdCBtZXJnZWRQcm9wcyA9IG1lcmdlKGV4aXN0aW5nUHJvcHMsIGFjdGlvbi5wYXlsb2FkLnByb3BzKTtcclxuICAgICAgICBzdGF0ZSA9IGFzc29jUGF0aChwcm9wUGF0aCwgbWVyZ2VkUHJvcHMsIHN0YXRlKTtcclxuICAgICAgICByZXR1cm4gc3RhdGU7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbGF5b3V0O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/layout.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar layout = function layout() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (action.type === (0, _constants.getAction)('SET_LAYOUT')) {\n return action.payload;\n } else if ((0, _ramda.contains)(action.type, ['UNDO_PROP_CHANGE', 'REDO_PROP_CHANGE', (0, _constants.getAction)('ON_PROP_CHANGE')])) {\n var propPath = (0, _ramda.append)('props', action.payload.itempath);\n var existingProps = (0, _ramda.view)((0, _ramda.lensPath)(propPath), state);\n var mergedProps = (0, _ramda.merge)(existingProps, action.payload.props);\n return (0, _ramda.assocPath)(propPath, mergedProps, state);\n }\n\n return state;\n};\n\nexports.default = layout;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL2xheW91dC5qcz8wZmY0Il0sIm5hbWVzIjpbImxheW91dCIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInBheWxvYWQiLCJwcm9wUGF0aCIsIml0ZW1wYXRoIiwiZXhpc3RpbmdQcm9wcyIsIm1lcmdlZFByb3BzIiwicHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUVBLElBQU1BLFNBQVMsU0FBVEEsTUFBUyxHQUF3QjtBQUFBLFFBQXZCQyxLQUF1Qix1RUFBZixFQUFlO0FBQUEsUUFBWEMsTUFBVzs7QUFDbkMsUUFBSUEsT0FBT0MsSUFBUCxLQUFnQiwwQkFBVSxZQUFWLENBQXBCLEVBQTZDO0FBQ3pDLGVBQU9ELE9BQU9FLE9BQWQ7QUFDSCxLQUZELE1BRU8sSUFDSCxxQkFBU0YsT0FBT0MsSUFBaEIsRUFBc0IsQ0FDbEIsa0JBRGtCLEVBRWxCLGtCQUZrQixFQUdsQiwwQkFBVSxnQkFBVixDQUhrQixDQUF0QixDQURHLEVBTUw7QUFDRSxZQUFNRSxXQUFXLG1CQUFPLE9BQVAsRUFBZ0JILE9BQU9FLE9BQVAsQ0FBZUUsUUFBL0IsQ0FBakI7QUFDQSxZQUFNQyxnQkFBZ0IsaUJBQUsscUJBQVNGLFFBQVQsQ0FBTCxFQUF5QkosS0FBekIsQ0FBdEI7QUFDQSxZQUFNTyxjQUFjLGtCQUFNRCxhQUFOLEVBQXFCTCxPQUFPRSxPQUFQLENBQWVLLEtBQXBDLENBQXBCO0FBQ0EsZUFBTyxzQkFBVUosUUFBVixFQUFvQkcsV0FBcEIsRUFBaUNQLEtBQWpDLENBQVA7QUFDSDs7QUFFRCxXQUFPQSxLQUFQO0FBQ0gsQ0FqQkQ7O2tCQW1CZUQsTSIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9sYXlvdXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FwcGVuZCwgYXNzb2NQYXRoLCBjb250YWlucywgbGVuc1BhdGgsIG1lcmdlLCB2aWV3fSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7Z2V0QWN0aW9ufSBmcm9tICcuLi9hY3Rpb25zL2NvbnN0YW50cyc7XG5cbmNvbnN0IGxheW91dCA9IChzdGF0ZSA9IHt9LCBhY3Rpb24pID0+IHtcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IGdldEFjdGlvbignU0VUX0xBWU9VVCcpKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb24ucGF5bG9hZDtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjb250YWlucyhhY3Rpb24udHlwZSwgW1xuICAgICAgICAgICAgJ1VORE9fUFJPUF9DSEFOR0UnLFxuICAgICAgICAgICAgJ1JFRE9fUFJPUF9DSEFOR0UnLFxuICAgICAgICAgICAgZ2V0QWN0aW9uKCdPTl9QUk9QX0NIQU5HRScpLFxuICAgICAgICBdKVxuICAgICkge1xuICAgICAgICBjb25zdCBwcm9wUGF0aCA9IGFwcGVuZCgncHJvcHMnLCBhY3Rpb24ucGF5bG9hZC5pdGVtcGF0aCk7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUHJvcHMgPSB2aWV3KGxlbnNQYXRoKHByb3BQYXRoKSwgc3RhdGUpO1xuICAgICAgICBjb25zdCBtZXJnZWRQcm9wcyA9IG1lcmdlKGV4aXN0aW5nUHJvcHMsIGFjdGlvbi5wYXlsb2FkLnByb3BzKTtcbiAgICAgICAgcmV0dXJuIGFzc29jUGF0aChwcm9wUGF0aCwgbWVyZ2VkUHJvcHMsIHN0YXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsYXlvdXQ7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/layout.js\n"); /***/ }), @@ -5450,7 +5414,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/reducers/utils.js\");\n\nvar crawlLayout = _utils.crawlLayout;\nvar hasId = _utils.hasId;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar R = _interopRequireDefault(_ramda).default;\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nvar ACTIONS = _constants.ACTIONS;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar initialPaths = null;\n\nvar paths = function paths() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialPaths;\n var action = arguments[1];\n\n switch (action.type) {\n case ACTIONS('COMPUTE_PATHS'):\n {\n var _action$payload = action.payload,\n subTree = _action$payload.subTree,\n startingPath = _action$payload.startingPath;\n\n if (R.isNil(state)) {\n state = {};\n }\n var newState = void 0;\n\n // if we're updating a subtree, clear out all of the existing items\n if (!R.isEmpty(startingPath)) {\n var removeKeys = R.filter(function (k) {\n return R.equals(startingPath, R.slice(0, startingPath.length, state[k]));\n }, R.keys(state));\n newState = R.omit(removeKeys, state);\n } else {\n newState = R.merge({}, state);\n }\n\n crawlLayout(subTree, function assignPath(child, itempath) {\n if (hasId(child)) {\n\n newState[child.props.id] = R.concat(startingPath, itempath);\n }\n });\n\n return newState;\n }\n\n default:\n {\n return state;\n }\n }\n};\n\nexports.default = paths;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3BhdGhzLmpzPzhiZGIiXSwibmFtZXMiOlsiY3Jhd2xMYXlvdXQiLCJoYXNJZCIsIlIiLCJBQ1RJT05TIiwiaW5pdGlhbFBhdGhzIiwicGF0aHMiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJwYXlsb2FkIiwic3ViVHJlZSIsInN0YXJ0aW5nUGF0aCIsImlzTmlsIiwibmV3U3RhdGUiLCJpc0VtcHR5IiwicmVtb3ZlS2V5cyIsImZpbHRlciIsImVxdWFscyIsInNsaWNlIiwibGVuZ3RoIiwiayIsImtleXMiLCJvbWl0IiwibWVyZ2UiLCJhc3NpZ25QYXRoIiwiY2hpbGQiLCJpdGVtcGF0aCIsInByb3BzIiwiaWQiLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztJQUFRQSxXLFVBQUFBLFc7SUFBYUMsSyxVQUFBQSxLOztBQUNyQjs7SUFBT0MsQzs7QUFDUDs7SUFBUUMsTyxjQUFBQSxPOzs7O0FBRVIsSUFBTUMsZUFBZSxJQUFyQjs7QUFHQSxJQUFNQyxRQUFRLFNBQVJBLEtBQVEsR0FBa0M7QUFBQSxRQUFqQ0MsS0FBaUMsdUVBQXpCRixZQUF5QjtBQUFBLFFBQVhHLE1BQVc7O0FBQzVDLFlBQVFBLE9BQU9DLElBQWY7QUFDSSxhQUFLTCxRQUFRLGVBQVIsQ0FBTDtBQUErQjtBQUFBLHNDQUNLSSxPQUFPRSxPQURaO0FBQUEsb0JBQ3BCQyxPQURvQixtQkFDcEJBLE9BRG9CO0FBQUEsb0JBQ1hDLFlBRFcsbUJBQ1hBLFlBRFc7O0FBRTNCLG9CQUFJVCxFQUFFVSxLQUFGLENBQVFOLEtBQVIsQ0FBSixFQUFvQjtBQUNoQkEsNEJBQVEsRUFBUjtBQUNIO0FBQ0Qsb0JBQUlPLGlCQUFKOztBQUVBO0FBQ0Esb0JBQUksQ0FBQ1gsRUFBRVksT0FBRixDQUFVSCxZQUFWLENBQUwsRUFBOEI7QUFDMUIsd0JBQU1JLGFBQWFiLEVBQUVjLE1BQUYsQ0FBUztBQUFBLCtCQUN4QmQsRUFBRWUsTUFBRixDQUFTTixZQUFULEVBQXVCVCxFQUFFZ0IsS0FBRixDQUFRLENBQVIsRUFBV1AsYUFBYVEsTUFBeEIsRUFBZ0NiLE1BQU1jLENBQU4sQ0FBaEMsQ0FBdkIsQ0FEd0I7QUFBQSxxQkFBVCxFQUVoQmxCLEVBQUVtQixJQUFGLENBQU9mLEtBQVAsQ0FGZ0IsQ0FBbkI7QUFHQU8sK0JBQVdYLEVBQUVvQixJQUFGLENBQU9QLFVBQVAsRUFBbUJULEtBQW5CLENBQVg7QUFDSCxpQkFMRCxNQUtPO0FBQ0hPLCtCQUFXWCxFQUFFcUIsS0FBRixDQUFRLEVBQVIsRUFBWWpCLEtBQVosQ0FBWDtBQUNIOztBQUVETiw0QkFBWVUsT0FBWixFQUFxQixTQUFTYyxVQUFULENBQW9CQyxLQUFwQixFQUEyQkMsUUFBM0IsRUFBcUM7QUFDdEQsd0JBQUd6QixNQUFNd0IsS0FBTixDQUFILEVBQWlCOztBQUViWixpQ0FBU1ksTUFBTUUsS0FBTixDQUFZQyxFQUFyQixJQUEyQjFCLEVBQUUyQixNQUFGLENBQVNsQixZQUFULEVBQXVCZSxRQUF2QixDQUEzQjtBQUVIO0FBQ0osaUJBTkQ7O0FBUUEsdUJBQU9iLFFBQVA7QUFDSDs7QUFFRDtBQUFTO0FBQ0wsdUJBQU9QLEtBQVA7QUFDSDtBQS9CTDtBQWlDSCxDQWxDRDs7a0JBb0NlRCxLIiwiZmlsZSI6Ii4vc3JjL3JlZHVjZXJzL3BhdGhzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmF3bExheW91dCwgaGFzSWR9IGZyb20gJy4vdXRpbHMnXHJcbmltcG9ydCBSIGZyb20gJ3JhbWRhJ1xyXG5pbXBvcnQge0FDVElPTlN9IGZyb20gJy4uL2FjdGlvbnMvY29uc3RhbnRzJztcclxuXHJcbmNvbnN0IGluaXRpYWxQYXRocyA9IG51bGw7XHJcblxyXG5cclxuY29uc3QgcGF0aHMgPSAoc3RhdGUgPSBpbml0aWFsUGF0aHMsIGFjdGlvbikgPT4ge1xyXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgQUNUSU9OUygnQ09NUFVURV9QQVRIUycpOiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtzdWJUcmVlLCBzdGFydGluZ1BhdGh9ID0gYWN0aW9uLnBheWxvYWQ7XHJcbiAgICAgICAgICAgIGlmIChSLmlzTmlsKHN0YXRlKSkge1xyXG4gICAgICAgICAgICAgICAgc3RhdGUgPSB7fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgbmV3U3RhdGU7XHJcblxyXG4gICAgICAgICAgICAvLyBpZiB3ZSdyZSB1cGRhdGluZyBhIHN1YnRyZWUsIGNsZWFyIG91dCBhbGwgb2YgdGhlIGV4aXN0aW5nIGl0ZW1zXHJcbiAgICAgICAgICAgIGlmICghUi5pc0VtcHR5KHN0YXJ0aW5nUGF0aCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZUtleXMgPSBSLmZpbHRlcihrID0+IChcclxuICAgICAgICAgICAgICAgICAgICBSLmVxdWFscyhzdGFydGluZ1BhdGgsIFIuc2xpY2UoMCwgc3RhcnRpbmdQYXRoLmxlbmd0aCwgc3RhdGVba10pKVxyXG4gICAgICAgICAgICAgICAgKSwgUi5rZXlzKHN0YXRlKSk7XHJcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZSA9IFIub21pdChyZW1vdmVLZXlzLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZSA9IFIubWVyZ2Uoe30sIHN0YXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY3Jhd2xMYXlvdXQoc3ViVHJlZSwgZnVuY3Rpb24gYXNzaWduUGF0aChjaGlsZCwgaXRlbXBhdGgpIHtcclxuICAgICAgICAgICAgICAgIGlmKGhhc0lkKGNoaWxkKSkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBuZXdTdGF0ZVtjaGlsZC5wcm9wcy5pZF0gPSBSLmNvbmNhdChzdGFydGluZ1BhdGgsIGl0ZW1wYXRoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBwYXRocztcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/reducers/paths.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/reducers/utils.js\");\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _ramda2 = _interopRequireDefault(_ramda);\n\nvar _constants = __webpack_require__(/*! ../actions/constants */ \"./src/actions/constants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar initialPaths = null;\n\nvar paths = function paths() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialPaths;\n var action = arguments[1];\n\n switch (action.type) {\n case (0, _constants.getAction)('COMPUTE_PATHS'):\n {\n var _action$payload = action.payload,\n subTree = _action$payload.subTree,\n startingPath = _action$payload.startingPath;\n\n var oldState = state;\n if (_ramda2.default.isNil(state)) {\n oldState = {};\n }\n var newState = void 0;\n\n // if we're updating a subtree, clear out all of the existing items\n if (!_ramda2.default.isEmpty(startingPath)) {\n var removeKeys = _ramda2.default.filter(function (k) {\n return _ramda2.default.equals(startingPath, _ramda2.default.slice(0, startingPath.length, oldState[k]));\n }, _ramda2.default.keys(oldState));\n newState = _ramda2.default.omit(removeKeys, oldState);\n } else {\n newState = _ramda2.default.merge({}, oldState);\n }\n\n (0, _utils.crawlLayout)(subTree, function assignPath(child, itempath) {\n if ((0, _utils.hasId)(child)) {\n newState[child.props.id] = _ramda2.default.concat(startingPath, itempath);\n }\n });\n\n return newState;\n }\n\n default:\n {\n return state;\n }\n }\n};\n\nexports.default = paths;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3BhdGhzLmpzPzhiZGIiXSwibmFtZXMiOlsiaW5pdGlhbFBhdGhzIiwicGF0aHMiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJwYXlsb2FkIiwic3ViVHJlZSIsInN0YXJ0aW5nUGF0aCIsIm9sZFN0YXRlIiwiUiIsImlzTmlsIiwibmV3U3RhdGUiLCJpc0VtcHR5IiwicmVtb3ZlS2V5cyIsImZpbHRlciIsImVxdWFscyIsInNsaWNlIiwibGVuZ3RoIiwiayIsImtleXMiLCJvbWl0IiwibWVyZ2UiLCJhc3NpZ25QYXRoIiwiY2hpbGQiLCJpdGVtcGF0aCIsInByb3BzIiwiaWQiLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxlQUFlLElBQXJCOztBQUVBLElBQU1DLFFBQVEsU0FBUkEsS0FBUSxHQUFrQztBQUFBLFFBQWpDQyxLQUFpQyx1RUFBekJGLFlBQXlCO0FBQUEsUUFBWEcsTUFBVzs7QUFDNUMsWUFBUUEsT0FBT0MsSUFBZjtBQUNJLGFBQUssMEJBQVUsZUFBVixDQUFMO0FBQWlDO0FBQUEsc0NBQ0dELE9BQU9FLE9BRFY7QUFBQSxvQkFDdEJDLE9BRHNCLG1CQUN0QkEsT0FEc0I7QUFBQSxvQkFDYkMsWUFEYSxtQkFDYkEsWUFEYTs7QUFFN0Isb0JBQUlDLFdBQVdOLEtBQWY7QUFDQSxvQkFBSU8sZ0JBQUVDLEtBQUYsQ0FBUVIsS0FBUixDQUFKLEVBQW9CO0FBQ2hCTSwrQkFBVyxFQUFYO0FBQ0g7QUFDRCxvQkFBSUcsaUJBQUo7O0FBRUE7QUFDQSxvQkFBSSxDQUFDRixnQkFBRUcsT0FBRixDQUFVTCxZQUFWLENBQUwsRUFBOEI7QUFDMUIsd0JBQU1NLGFBQWFKLGdCQUFFSyxNQUFGLENBQ2Y7QUFBQSwrQkFDSUwsZ0JBQUVNLE1BQUYsQ0FDSVIsWUFESixFQUVJRSxnQkFBRU8sS0FBRixDQUFRLENBQVIsRUFBV1QsYUFBYVUsTUFBeEIsRUFBZ0NULFNBQVNVLENBQVQsQ0FBaEMsQ0FGSixDQURKO0FBQUEscUJBRGUsRUFNZlQsZ0JBQUVVLElBQUYsQ0FBT1gsUUFBUCxDQU5lLENBQW5CO0FBUUFHLCtCQUFXRixnQkFBRVcsSUFBRixDQUFPUCxVQUFQLEVBQW1CTCxRQUFuQixDQUFYO0FBQ0gsaUJBVkQsTUFVTztBQUNIRywrQkFBV0YsZ0JBQUVZLEtBQUYsQ0FBUSxFQUFSLEVBQVliLFFBQVosQ0FBWDtBQUNIOztBQUVELHdDQUFZRixPQUFaLEVBQXFCLFNBQVNnQixVQUFULENBQW9CQyxLQUFwQixFQUEyQkMsUUFBM0IsRUFBcUM7QUFDdEQsd0JBQUksa0JBQU1ELEtBQU4sQ0FBSixFQUFrQjtBQUNkWixpQ0FBU1ksTUFBTUUsS0FBTixDQUFZQyxFQUFyQixJQUEyQmpCLGdCQUFFa0IsTUFBRixDQUFTcEIsWUFBVCxFQUF1QmlCLFFBQXZCLENBQTNCO0FBQ0g7QUFDSixpQkFKRDs7QUFNQSx1QkFBT2IsUUFBUDtBQUNIOztBQUVEO0FBQVM7QUFDTCx1QkFBT1QsS0FBUDtBQUNIO0FBbkNMO0FBcUNILENBdENEOztrQkF3Q2VELEsiLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvcGF0aHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyYXdsTGF5b3V0LCBoYXNJZH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgUiBmcm9tICdyYW1kYSc7XG5pbXBvcnQge2dldEFjdGlvbn0gZnJvbSAnLi4vYWN0aW9ucy9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsUGF0aHMgPSBudWxsO1xuXG5jb25zdCBwYXRocyA9IChzdGF0ZSA9IGluaXRpYWxQYXRocywgYWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIGdldEFjdGlvbignQ09NUFVURV9QQVRIUycpOiB7XG4gICAgICAgICAgICBjb25zdCB7c3ViVHJlZSwgc3RhcnRpbmdQYXRofSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICAgICAgbGV0IG9sZFN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICBpZiAoUi5pc05pbChzdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICBvbGRTdGF0ZSA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG5ld1N0YXRlO1xuXG4gICAgICAgICAgICAvLyBpZiB3ZSdyZSB1cGRhdGluZyBhIHN1YnRyZWUsIGNsZWFyIG91dCBhbGwgb2YgdGhlIGV4aXN0aW5nIGl0ZW1zXG4gICAgICAgICAgICBpZiAoIVIuaXNFbXB0eShzdGFydGluZ1BhdGgpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlS2V5cyA9IFIuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICBrID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBSLmVxdWFscyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZ1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUi5zbGljZSgwLCBzdGFydGluZ1BhdGgubGVuZ3RoLCBvbGRTdGF0ZVtrXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIFIua2V5cyhvbGRTdGF0ZSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG5ld1N0YXRlID0gUi5vbWl0KHJlbW92ZUtleXMsIG9sZFN0YXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3U3RhdGUgPSBSLm1lcmdlKHt9LCBvbGRTdGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNyYXdsTGF5b3V0KHN1YlRyZWUsIGZ1bmN0aW9uIGFzc2lnblBhdGgoY2hpbGQsIGl0ZW1wYXRoKSB7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0lkKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdTdGF0ZVtjaGlsZC5wcm9wcy5pZF0gPSBSLmNvbmNhdChzdGFydGluZ1BhdGgsIGl0ZW1wYXRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgcGF0aHM7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/paths.js\n"); /***/ }), @@ -5462,7 +5426,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar R = _interopRequireDefault(_ramda).default;\n\nvar concat = _ramda.concat;\nvar lensPath = _ramda.lensPath;\nvar view = _ramda.view;\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar combineReducers = _redux.combineReducers;\n\nvar _layout = __webpack_require__(/*! ./layout */ \"./src/reducers/layout.js\");\n\nvar layout = _interopRequireDefault(_layout).default;\n\nvar _dependencyGraph = __webpack_require__(/*! ./dependencyGraph */ \"./src/reducers/dependencyGraph.js\");\n\nvar graphs = _interopRequireDefault(_dependencyGraph).default;\n\nvar _paths = __webpack_require__(/*! ./paths */ \"./src/reducers/paths.js\");\n\nvar paths = _interopRequireDefault(_paths).default;\n\nvar _requestQueue = __webpack_require__(/*! ./requestQueue */ \"./src/reducers/requestQueue.js\");\n\nvar requestQueue = _interopRequireDefault(_requestQueue).default;\n\nvar _appLifecycle = __webpack_require__(/*! ./appLifecycle */ \"./src/reducers/appLifecycle.js\");\n\nvar appLifecycle = _interopRequireDefault(_appLifecycle).default;\n\nvar _history = __webpack_require__(/*! ./history */ \"./src/reducers/history.js\");\n\nvar history = _interopRequireDefault(_history).default;\n\nvar _api = __webpack_require__(/*! ./api */ \"./src/reducers/api.js\");\n\nvar API = _interopRequireWildcard(_api);\n\nvar _config = __webpack_require__(/*! ./config */ \"./src/reducers/config.js\");\n\nvar config = _interopRequireDefault(_config).default;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar reducer = combineReducers({\n appLifecycle: appLifecycle,\n layout: layout,\n graphs: graphs,\n paths: paths,\n requestQueue: requestQueue,\n config: config,\n dependenciesRequest: API.dependenciesRequest,\n layoutRequest: API.layoutRequest,\n loginRequest: API.loginRequest,\n history: history\n});\n\nfunction getInputHistoryState(itempath, props, state) {\n var graphs = state.graphs,\n layout = state.layout,\n paths = state.paths;\n var InputGraph = graphs.InputGraph;\n\n var keyObj = R.filter(R.equals(itempath), paths);\n var historyEntry = void 0;\n if (!R.isEmpty(keyObj)) {\n var id = R.keys(keyObj)[0];\n historyEntry = { id: id, props: {} };\n R.keys(props).forEach(function (propKey) {\n var inputKey = id + '.' + propKey;\n if (InputGraph.hasNode(inputKey) && InputGraph.dependenciesOf(inputKey).length > 0) {\n historyEntry.props[propKey] = view(lensPath(concat(paths[id], ['props', propKey])), layout);\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function (state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE' && R.isEmpty(state.history.present)) {\n var _action$payload = action.payload,\n itempath = _action$payload.itempath,\n props = _action$payload.props;\n\n var historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !R.isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n var nextState = reducer(state, action);\n\n if (action.type === 'ON_PROP_CHANGE' && action.payload.source !== 'response') {\n var _action$payload2 = action.payload,\n _itempath = _action$payload2.itempath,\n _props = _action$payload2.props;\n /*\r\n * if the prop change is an input, then\r\n * record it so that it can be played back\r\n */\n\n var _historyEntry = getInputHistoryState(_itempath, _props, nextState);\n if (_historyEntry && !R.isEmpty(_historyEntry.props)) {\n\n nextState.history = {\n past: [].concat(_toConsumableArray(nextState.history.past), [nextState.history.present]),\n present: _historyEntry,\n future: []\n };\n }\n }\n\n return nextState;\n };\n}\n\nexports.default = recordHistory(reducer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3JlZHVjZXIuanM/OWE2NiJdLCJuYW1lcyI6WyJSIiwiY29uY2F0IiwibGVuc1BhdGgiLCJ2aWV3IiwiY29tYmluZVJlZHVjZXJzIiwibGF5b3V0IiwiZ3JhcGhzIiwicGF0aHMiLCJyZXF1ZXN0UXVldWUiLCJhcHBMaWZlY3ljbGUiLCJoaXN0b3J5IiwiQVBJIiwiY29uZmlnIiwicmVkdWNlciIsImRlcGVuZGVuY2llc1JlcXVlc3QiLCJsYXlvdXRSZXF1ZXN0IiwibG9naW5SZXF1ZXN0IiwiZ2V0SW5wdXRIaXN0b3J5U3RhdGUiLCJpdGVtcGF0aCIsInByb3BzIiwic3RhdGUiLCJJbnB1dEdyYXBoIiwia2V5T2JqIiwiZmlsdGVyIiwiZXF1YWxzIiwiaGlzdG9yeUVudHJ5IiwiaXNFbXB0eSIsImlkIiwia2V5cyIsImZvckVhY2giLCJpbnB1dEtleSIsInByb3BLZXkiLCJoYXNOb2RlIiwiZGVwZW5kZW5jaWVzT2YiLCJsZW5ndGgiLCJyZWNvcmRIaXN0b3J5IiwiYWN0aW9uIiwidHlwZSIsInByZXNlbnQiLCJwYXlsb2FkIiwibmV4dFN0YXRlIiwic291cmNlIiwicGFzdCIsImZ1dHVyZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztBQUNBOztJQUFPQSxDOztJQUFJQyxNLFVBQUFBLE07SUFBUUMsUSxVQUFBQSxRO0lBQVVDLEksVUFBQUEsSTs7QUFDN0I7O0lBQVFDLGUsVUFBQUEsZTs7QUFDUjs7SUFBT0MsTTs7QUFDUDs7SUFBT0MsTTs7QUFDUDs7SUFBT0MsSzs7QUFDUDs7SUFBT0MsWTs7QUFDUDs7SUFBT0MsWTs7QUFDUDs7SUFBT0MsTzs7QUFDUDs7SUFBWUMsRzs7QUFDWjs7SUFBT0MsTTs7Ozs7Ozs7QUFFUCxJQUFNQyxVQUFVVCxnQkFBZ0I7QUFDNUJLLDhCQUQ0QjtBQUU1Qkosa0JBRjRCO0FBRzVCQyxrQkFINEI7QUFJNUJDLGdCQUo0QjtBQUs1QkMsOEJBTDRCO0FBTTVCSSxrQkFONEI7QUFPNUJFLHlCQUFxQkgsSUFBSUcsbUJBUEc7QUFRNUJDLG1CQUFlSixJQUFJSSxhQVJTO0FBUzVCQyxrQkFBY0wsSUFBSUssWUFUVTtBQVU1Qk47QUFWNEIsQ0FBaEIsQ0FBaEI7O0FBY0EsU0FBU08sb0JBQVQsQ0FBOEJDLFFBQTlCLEVBQXdDQyxLQUF4QyxFQUErQ0MsS0FBL0MsRUFBc0Q7QUFBQSxRQUMzQ2QsTUFEMkMsR0FDbEJjLEtBRGtCLENBQzNDZCxNQUQyQztBQUFBLFFBQ25DRCxNQURtQyxHQUNsQmUsS0FEa0IsQ0FDbkNmLE1BRG1DO0FBQUEsUUFDM0JFLEtBRDJCLEdBQ2xCYSxLQURrQixDQUMzQmIsS0FEMkI7QUFBQSxRQUUzQ2MsVUFGMkMsR0FFN0JmLE1BRjZCLENBRTNDZSxVQUYyQzs7QUFHbEQsUUFBTUMsU0FBU3RCLEVBQUV1QixNQUFGLENBQVN2QixFQUFFd0IsTUFBRixDQUFTTixRQUFULENBQVQsRUFBNkJYLEtBQTdCLENBQWY7QUFDQSxRQUFJa0IscUJBQUo7QUFDQSxRQUFJLENBQUN6QixFQUFFMEIsT0FBRixDQUFVSixNQUFWLENBQUwsRUFBd0I7QUFDcEIsWUFBTUssS0FBSzNCLEVBQUU0QixJQUFGLENBQU9OLE1BQVAsRUFBZSxDQUFmLENBQVg7QUFDQUcsdUJBQWUsRUFBQ0UsTUFBRCxFQUFLUixPQUFPLEVBQVosRUFBZjtBQUNBbkIsVUFBRTRCLElBQUYsQ0FBT1QsS0FBUCxFQUFjVSxPQUFkLENBQXNCLG1CQUFXO0FBQzdCLGdCQUFNQyxXQUFjSCxFQUFkLFNBQW9CSSxPQUExQjtBQUNBLGdCQUFJVixXQUFXVyxPQUFYLENBQW1CRixRQUFuQixLQUNBVCxXQUFXWSxjQUFYLENBQTBCSCxRQUExQixFQUFvQ0ksTUFBcEMsR0FBNkMsQ0FEakQsRUFDb0Q7QUFDaERULDZCQUFhTixLQUFiLENBQW1CWSxPQUFuQixJQUE4QjVCLEtBQzFCRCxTQUFTRCxPQUFPTSxNQUFNb0IsRUFBTixDQUFQLEVBQWtCLENBQUMsT0FBRCxFQUFVSSxPQUFWLENBQWxCLENBQVQsQ0FEMEIsRUFFMUIxQixNQUYwQixDQUE5QjtBQUlIO0FBQ0osU0FURDtBQVVIO0FBQ0QsV0FBT29CLFlBQVA7QUFDSDs7QUFFRCxTQUFTVSxhQUFULENBQXVCdEIsT0FBdkIsRUFBZ0M7QUFDNUIsV0FBTyxVQUFVTyxLQUFWLEVBQWlCZ0IsTUFBakIsRUFBeUI7QUFDNUI7QUFDQSxZQUFJQSxPQUFPQyxJQUFQLEtBQWdCLGdCQUFoQixJQUNBckMsRUFBRTBCLE9BQUYsQ0FBVU4sTUFBTVYsT0FBTixDQUFjNEIsT0FBeEIsQ0FESixFQUVFO0FBQUEsa0NBQzRCRixPQUFPRyxPQURuQztBQUFBLGdCQUNTckIsUUFEVCxtQkFDU0EsUUFEVDtBQUFBLGdCQUNtQkMsS0FEbkIsbUJBQ21CQSxLQURuQjs7QUFFRSxnQkFBTU0sZUFBZVIscUJBQXFCQyxRQUFyQixFQUErQkMsS0FBL0IsRUFBc0NDLEtBQXRDLENBQXJCO0FBQ0EsZ0JBQUlLLGdCQUFnQixDQUFDekIsRUFBRTBCLE9BQUYsQ0FBVUQsYUFBYU4sS0FBdkIsQ0FBckIsRUFBb0Q7QUFDaERDLHNCQUFNVixPQUFOLENBQWM0QixPQUFkLEdBQXdCYixZQUF4QjtBQUNIO0FBQ0o7O0FBRUQsWUFBTWUsWUFBWTNCLFFBQVFPLEtBQVIsRUFBZWdCLE1BQWYsQ0FBbEI7O0FBRUEsWUFBSUEsT0FBT0MsSUFBUCxLQUFnQixnQkFBaEIsSUFDQUQsT0FBT0csT0FBUCxDQUFlRSxNQUFmLEtBQTBCLFVBRDlCLEVBRUU7QUFBQSxtQ0FDNEJMLE9BQU9HLE9BRG5DO0FBQUEsZ0JBQ1NyQixTQURULG9CQUNTQSxRQURUO0FBQUEsZ0JBQ21CQyxNQURuQixvQkFDbUJBLEtBRG5CO0FBRUU7Ozs7O0FBSUEsZ0JBQU1NLGdCQUFlUixxQkFBcUJDLFNBQXJCLEVBQStCQyxNQUEvQixFQUFzQ3FCLFNBQXRDLENBQXJCO0FBQ0EsZ0JBQUlmLGlCQUFnQixDQUFDekIsRUFBRTBCLE9BQUYsQ0FBVUQsY0FBYU4sS0FBdkIsQ0FBckIsRUFBb0Q7O0FBRWhEcUIsMEJBQVU5QixPQUFWLEdBQW9CO0FBQ2hCZ0MsdURBQ09GLFVBQVU5QixPQUFWLENBQWtCZ0MsSUFEekIsSUFFSUYsVUFBVTlCLE9BQVYsQ0FBa0I0QixPQUZ0QixFQURnQjtBQUtoQkEsNkJBQVNiLGFBTE87QUFNaEJrQiw0QkFBUTtBQU5RLGlCQUFwQjtBQVNIO0FBQ0o7O0FBRUQsZUFBT0gsU0FBUDtBQUVILEtBdkNEO0FBd0NIOztrQkFFY0wsY0FBY3RCLE9BQWQsQyIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9yZWR1Y2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXHJcbmltcG9ydCBSLCB7Y29uY2F0LCBsZW5zUGF0aCwgdmlld30gZnJvbSAncmFtZGEnO1xyXG5pbXBvcnQge2NvbWJpbmVSZWR1Y2Vyc30gZnJvbSAncmVkdXgnO1xyXG5pbXBvcnQgbGF5b3V0IGZyb20gJy4vbGF5b3V0JztcclxuaW1wb3J0IGdyYXBocyBmcm9tICcuL2RlcGVuZGVuY3lHcmFwaCc7XHJcbmltcG9ydCBwYXRocyBmcm9tICcuL3BhdGhzJztcclxuaW1wb3J0IHJlcXVlc3RRdWV1ZSBmcm9tICcuL3JlcXVlc3RRdWV1ZSc7XHJcbmltcG9ydCBhcHBMaWZlY3ljbGUgZnJvbSAnLi9hcHBMaWZlY3ljbGUnO1xyXG5pbXBvcnQgaGlzdG9yeSBmcm9tICcuL2hpc3RvcnknO1xyXG5pbXBvcnQgKiBhcyBBUEkgZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gJy4vY29uZmlnJztcclxuXHJcbmNvbnN0IHJlZHVjZXIgPSBjb21iaW5lUmVkdWNlcnMoe1xyXG4gICAgYXBwTGlmZWN5Y2xlLFxyXG4gICAgbGF5b3V0LFxyXG4gICAgZ3JhcGhzLFxyXG4gICAgcGF0aHMsXHJcbiAgICByZXF1ZXN0UXVldWUsXHJcbiAgICBjb25maWcsXHJcbiAgICBkZXBlbmRlbmNpZXNSZXF1ZXN0OiBBUEkuZGVwZW5kZW5jaWVzUmVxdWVzdCxcclxuICAgIGxheW91dFJlcXVlc3Q6IEFQSS5sYXlvdXRSZXF1ZXN0LFxyXG4gICAgbG9naW5SZXF1ZXN0OiBBUEkubG9naW5SZXF1ZXN0LFxyXG4gICAgaGlzdG9yeVxyXG59KTtcclxuXHJcblxyXG5mdW5jdGlvbiBnZXRJbnB1dEhpc3RvcnlTdGF0ZShpdGVtcGF0aCwgcHJvcHMsIHN0YXRlKSB7XHJcbiAgICBjb25zdCB7Z3JhcGhzLCBsYXlvdXQsIHBhdGhzfSA9IHN0YXRlO1xyXG4gICAgY29uc3Qge0lucHV0R3JhcGh9ID0gZ3JhcGhzO1xyXG4gICAgY29uc3Qga2V5T2JqID0gUi5maWx0ZXIoUi5lcXVhbHMoaXRlbXBhdGgpLCBwYXRocyk7XHJcbiAgICBsZXQgaGlzdG9yeUVudHJ5O1xyXG4gICAgaWYgKCFSLmlzRW1wdHkoa2V5T2JqKSkge1xyXG4gICAgICAgIGNvbnN0IGlkID0gUi5rZXlzKGtleU9iailbMF07XHJcbiAgICAgICAgaGlzdG9yeUVudHJ5ID0ge2lkLCBwcm9wczoge319O1xyXG4gICAgICAgIFIua2V5cyhwcm9wcykuZm9yRWFjaChwcm9wS2V5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaW5wdXRLZXkgPSBgJHtpZH0uJHtwcm9wS2V5fWA7XHJcbiAgICAgICAgICAgIGlmIChJbnB1dEdyYXBoLmhhc05vZGUoaW5wdXRLZXkpICYmXHJcbiAgICAgICAgICAgICAgICBJbnB1dEdyYXBoLmRlcGVuZGVuY2llc09mKGlucHV0S2V5KS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBoaXN0b3J5RW50cnkucHJvcHNbcHJvcEtleV0gPSB2aWV3KFxyXG4gICAgICAgICAgICAgICAgICAgIGxlbnNQYXRoKGNvbmNhdChwYXRoc1tpZF0sIFsncHJvcHMnLCBwcm9wS2V5XSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGxheW91dFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhpc3RvcnlFbnRyeTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVjb3JkSGlzdG9yeShyZWR1Y2VyKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0YXRlLCBhY3Rpb24pIHtcclxuICAgICAgICAvLyBSZWNvcmQgaW5pdGlhbCBzdGF0ZVxyXG4gICAgICAgIGlmIChhY3Rpb24udHlwZSA9PT0gJ09OX1BST1BfQ0hBTkdFJyAmJlxyXG4gICAgICAgICAgICBSLmlzRW1wdHkoc3RhdGUuaGlzdG9yeS5wcmVzZW50KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCB7aXRlbXBhdGgsIHByb3BzfSA9IGFjdGlvbi5wYXlsb2FkO1xyXG4gICAgICAgICAgICBjb25zdCBoaXN0b3J5RW50cnkgPSBnZXRJbnB1dEhpc3RvcnlTdGF0ZShpdGVtcGF0aCwgcHJvcHMsIHN0YXRlKTtcclxuICAgICAgICAgICAgaWYgKGhpc3RvcnlFbnRyeSAmJiAhUi5pc0VtcHR5KGhpc3RvcnlFbnRyeS5wcm9wcykpIHtcclxuICAgICAgICAgICAgICAgIHN0YXRlLmhpc3RvcnkucHJlc2VudCA9IGhpc3RvcnlFbnRyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gcmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcclxuXHJcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSAnT05fUFJPUF9DSEFOR0UnICYmXHJcbiAgICAgICAgICAgIGFjdGlvbi5wYXlsb2FkLnNvdXJjZSAhPT0gJ3Jlc3BvbnNlJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCB7aXRlbXBhdGgsIHByb3BzfSA9IGFjdGlvbi5wYXlsb2FkO1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiBpZiB0aGUgcHJvcCBjaGFuZ2UgaXMgYW4gaW5wdXQsIHRoZW5cclxuICAgICAgICAgICAgICogcmVjb3JkIGl0IHNvIHRoYXQgaXQgY2FuIGJlIHBsYXllZCBiYWNrXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBjb25zdCBoaXN0b3J5RW50cnkgPSBnZXRJbnB1dEhpc3RvcnlTdGF0ZShpdGVtcGF0aCwgcHJvcHMsIG5leHRTdGF0ZSk7XHJcbiAgICAgICAgICAgIGlmIChoaXN0b3J5RW50cnkgJiYgIVIuaXNFbXB0eShoaXN0b3J5RW50cnkucHJvcHMpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlLmhpc3RvcnkgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFzdDogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5uZXh0U3RhdGUuaGlzdG9yeS5wYXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0U3RhdGUuaGlzdG9yeS5wcmVzZW50XHJcbiAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICBwcmVzZW50OiBoaXN0b3J5RW50cnksXHJcbiAgICAgICAgICAgICAgICAgICAgZnV0dXJlOiBbXVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5leHRTdGF0ZTtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHJlY29yZEhpc3RvcnkocmVkdWNlcik7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/reducers/reducer.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _ramda2 = _interopRequireDefault(_ramda);\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar _layout = __webpack_require__(/*! ./layout */ \"./src/reducers/layout.js\");\n\nvar _layout2 = _interopRequireDefault(_layout);\n\nvar _dependencyGraph = __webpack_require__(/*! ./dependencyGraph */ \"./src/reducers/dependencyGraph.js\");\n\nvar _dependencyGraph2 = _interopRequireDefault(_dependencyGraph);\n\nvar _paths = __webpack_require__(/*! ./paths */ \"./src/reducers/paths.js\");\n\nvar _paths2 = _interopRequireDefault(_paths);\n\nvar _requestQueue = __webpack_require__(/*! ./requestQueue */ \"./src/reducers/requestQueue.js\");\n\nvar _requestQueue2 = _interopRequireDefault(_requestQueue);\n\nvar _appLifecycle = __webpack_require__(/*! ./appLifecycle */ \"./src/reducers/appLifecycle.js\");\n\nvar _appLifecycle2 = _interopRequireDefault(_appLifecycle);\n\nvar _history = __webpack_require__(/*! ./history */ \"./src/reducers/history.js\");\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _api = __webpack_require__(/*! ./api */ \"./src/reducers/api.js\");\n\nvar API = _interopRequireWildcard(_api);\n\nvar _config = __webpack_require__(/*! ./config */ \"./src/reducers/config.js\");\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar reducer = (0, _redux.combineReducers)({\n appLifecycle: _appLifecycle2.default,\n layout: _layout2.default,\n graphs: _dependencyGraph2.default,\n paths: _paths2.default,\n requestQueue: _requestQueue2.default,\n config: _config2.default,\n dependenciesRequest: API.dependenciesRequest,\n layoutRequest: API.layoutRequest,\n loginRequest: API.loginRequest,\n history: _history2.default\n});\n\nfunction getInputHistoryState(itempath, props, state) {\n var graphs = state.graphs,\n layout = state.layout,\n paths = state.paths;\n var InputGraph = graphs.InputGraph;\n\n var keyObj = _ramda2.default.filter(_ramda2.default.equals(itempath), paths);\n var historyEntry = void 0;\n if (!_ramda2.default.isEmpty(keyObj)) {\n var id = _ramda2.default.keys(keyObj)[0];\n historyEntry = { id: id, props: {} };\n _ramda2.default.keys(props).forEach(function (propKey) {\n var inputKey = id + '.' + propKey;\n if (InputGraph.hasNode(inputKey) && InputGraph.dependenciesOf(inputKey).length > 0) {\n historyEntry.props[propKey] = (0, _ramda.view)((0, _ramda.lensPath)((0, _ramda.concat)(paths[id], ['props', propKey])), layout);\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function (state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE' && _ramda2.default.isEmpty(state.history.present)) {\n var _action$payload = action.payload,\n itempath = _action$payload.itempath,\n props = _action$payload.props;\n\n var historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !_ramda2.default.isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n var nextState = reducer(state, action);\n\n if (action.type === 'ON_PROP_CHANGE' && action.payload.source !== 'response') {\n var _action$payload2 = action.payload,\n _itempath = _action$payload2.itempath,\n _props = _action$payload2.props;\n /*\n * if the prop change is an input, then\n * record it so that it can be played back\n */\n\n var _historyEntry = getInputHistoryState(_itempath, _props, nextState);\n if (_historyEntry && !_ramda2.default.isEmpty(_historyEntry.props)) {\n nextState.history = {\n past: [].concat(_toConsumableArray(nextState.history.past), [nextState.history.present]),\n present: _historyEntry,\n future: []\n };\n }\n }\n\n return nextState;\n };\n}\n\nexports.default = recordHistory(reducer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3JlZHVjZXIuanM/OWE2NiJdLCJuYW1lcyI6WyJBUEkiLCJyZWR1Y2VyIiwiYXBwTGlmZWN5Y2xlIiwibGF5b3V0IiwiZ3JhcGhzIiwicGF0aHMiLCJyZXF1ZXN0UXVldWUiLCJjb25maWciLCJkZXBlbmRlbmNpZXNSZXF1ZXN0IiwibGF5b3V0UmVxdWVzdCIsImxvZ2luUmVxdWVzdCIsImhpc3RvcnkiLCJnZXRJbnB1dEhpc3RvcnlTdGF0ZSIsIml0ZW1wYXRoIiwicHJvcHMiLCJzdGF0ZSIsIklucHV0R3JhcGgiLCJrZXlPYmoiLCJSIiwiZmlsdGVyIiwiZXF1YWxzIiwiaGlzdG9yeUVudHJ5IiwiaXNFbXB0eSIsImlkIiwia2V5cyIsImZvckVhY2giLCJpbnB1dEtleSIsInByb3BLZXkiLCJoYXNOb2RlIiwiZGVwZW5kZW5jaWVzT2YiLCJsZW5ndGgiLCJyZWNvcmRIaXN0b3J5IiwiYWN0aW9uIiwidHlwZSIsInByZXNlbnQiLCJwYXlsb2FkIiwibmV4dFN0YXRlIiwic291cmNlIiwicGFzdCIsImZ1dHVyZSJdLCJtYXBwaW5ncyI6IkFBQWE7Ozs7OztBQUNiOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7O0lBQVlBLEc7O0FBQ1o7Ozs7Ozs7Ozs7QUFFQSxJQUFNQyxVQUFVLDRCQUFnQjtBQUM1QkMsd0NBRDRCO0FBRTVCQyw0QkFGNEI7QUFHNUJDLHFDQUg0QjtBQUk1QkMsMEJBSjRCO0FBSzVCQyx3Q0FMNEI7QUFNNUJDLDRCQU40QjtBQU81QkMseUJBQXFCUixJQUFJUSxtQkFQRztBQVE1QkMsbUJBQWVULElBQUlTLGFBUlM7QUFTNUJDLGtCQUFjVixJQUFJVSxZQVRVO0FBVTVCQztBQVY0QixDQUFoQixDQUFoQjs7QUFhQSxTQUFTQyxvQkFBVCxDQUE4QkMsUUFBOUIsRUFBd0NDLEtBQXhDLEVBQStDQyxLQUEvQyxFQUFzRDtBQUFBLFFBQzNDWCxNQUQyQyxHQUNsQlcsS0FEa0IsQ0FDM0NYLE1BRDJDO0FBQUEsUUFDbkNELE1BRG1DLEdBQ2xCWSxLQURrQixDQUNuQ1osTUFEbUM7QUFBQSxRQUMzQkUsS0FEMkIsR0FDbEJVLEtBRGtCLENBQzNCVixLQUQyQjtBQUFBLFFBRTNDVyxVQUYyQyxHQUU3QlosTUFGNkIsQ0FFM0NZLFVBRjJDOztBQUdsRCxRQUFNQyxTQUFTQyxnQkFBRUMsTUFBRixDQUFTRCxnQkFBRUUsTUFBRixDQUFTUCxRQUFULENBQVQsRUFBNkJSLEtBQTdCLENBQWY7QUFDQSxRQUFJZ0IscUJBQUo7QUFDQSxRQUFJLENBQUNILGdCQUFFSSxPQUFGLENBQVVMLE1BQVYsQ0FBTCxFQUF3QjtBQUNwQixZQUFNTSxLQUFLTCxnQkFBRU0sSUFBRixDQUFPUCxNQUFQLEVBQWUsQ0FBZixDQUFYO0FBQ0FJLHVCQUFlLEVBQUNFLE1BQUQsRUFBS1QsT0FBTyxFQUFaLEVBQWY7QUFDQUksd0JBQUVNLElBQUYsQ0FBT1YsS0FBUCxFQUFjVyxPQUFkLENBQXNCLG1CQUFXO0FBQzdCLGdCQUFNQyxXQUFjSCxFQUFkLFNBQW9CSSxPQUExQjtBQUNBLGdCQUNJWCxXQUFXWSxPQUFYLENBQW1CRixRQUFuQixLQUNBVixXQUFXYSxjQUFYLENBQTBCSCxRQUExQixFQUFvQ0ksTUFBcEMsR0FBNkMsQ0FGakQsRUFHRTtBQUNFVCw2QkFBYVAsS0FBYixDQUFtQmEsT0FBbkIsSUFBOEIsaUJBQzFCLHFCQUFTLG1CQUFPdEIsTUFBTWtCLEVBQU4sQ0FBUCxFQUFrQixDQUFDLE9BQUQsRUFBVUksT0FBVixDQUFsQixDQUFULENBRDBCLEVBRTFCeEIsTUFGMEIsQ0FBOUI7QUFJSDtBQUNKLFNBWEQ7QUFZSDtBQUNELFdBQU9rQixZQUFQO0FBQ0g7O0FBRUQsU0FBU1UsYUFBVCxDQUF1QjlCLE9BQXZCLEVBQWdDO0FBQzVCLFdBQU8sVUFBU2MsS0FBVCxFQUFnQmlCLE1BQWhCLEVBQXdCO0FBQzNCO0FBQ0EsWUFDSUEsT0FBT0MsSUFBUCxLQUFnQixnQkFBaEIsSUFDQWYsZ0JBQUVJLE9BQUYsQ0FBVVAsTUFBTUosT0FBTixDQUFjdUIsT0FBeEIsQ0FGSixFQUdFO0FBQUEsa0NBQzRCRixPQUFPRyxPQURuQztBQUFBLGdCQUNTdEIsUUFEVCxtQkFDU0EsUUFEVDtBQUFBLGdCQUNtQkMsS0FEbkIsbUJBQ21CQSxLQURuQjs7QUFFRSxnQkFBTU8sZUFBZVQscUJBQXFCQyxRQUFyQixFQUErQkMsS0FBL0IsRUFBc0NDLEtBQXRDLENBQXJCO0FBQ0EsZ0JBQUlNLGdCQUFnQixDQUFDSCxnQkFBRUksT0FBRixDQUFVRCxhQUFhUCxLQUF2QixDQUFyQixFQUFvRDtBQUNoREMsc0JBQU1KLE9BQU4sQ0FBY3VCLE9BQWQsR0FBd0JiLFlBQXhCO0FBQ0g7QUFDSjs7QUFFRCxZQUFNZSxZQUFZbkMsUUFBUWMsS0FBUixFQUFlaUIsTUFBZixDQUFsQjs7QUFFQSxZQUNJQSxPQUFPQyxJQUFQLEtBQWdCLGdCQUFoQixJQUNBRCxPQUFPRyxPQUFQLENBQWVFLE1BQWYsS0FBMEIsVUFGOUIsRUFHRTtBQUFBLG1DQUM0QkwsT0FBT0csT0FEbkM7QUFBQSxnQkFDU3RCLFNBRFQsb0JBQ1NBLFFBRFQ7QUFBQSxnQkFDbUJDLE1BRG5CLG9CQUNtQkEsS0FEbkI7QUFFRTs7Ozs7QUFJQSxnQkFBTU8sZ0JBQWVULHFCQUNqQkMsU0FEaUIsRUFFakJDLE1BRmlCLEVBR2pCc0IsU0FIaUIsQ0FBckI7QUFLQSxnQkFBSWYsaUJBQWdCLENBQUNILGdCQUFFSSxPQUFGLENBQVVELGNBQWFQLEtBQXZCLENBQXJCLEVBQW9EO0FBQ2hEc0IsMEJBQVV6QixPQUFWLEdBQW9CO0FBQ2hCMkIsdURBQ09GLFVBQVV6QixPQUFWLENBQWtCMkIsSUFEekIsSUFFSUYsVUFBVXpCLE9BQVYsQ0FBa0J1QixPQUZ0QixFQURnQjtBQUtoQkEsNkJBQVNiLGFBTE87QUFNaEJrQiw0QkFBUTtBQU5RLGlCQUFwQjtBQVFIO0FBQ0o7O0FBRUQsZUFBT0gsU0FBUDtBQUNILEtBMUNEO0FBMkNIOztrQkFFY0wsY0FBYzlCLE9BQWQsQyIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy9yZWR1Y2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuaW1wb3J0IFIsIHtjb25jYXQsIGxlbnNQYXRoLCB2aWV3fSBmcm9tICdyYW1kYSc7XG5pbXBvcnQge2NvbWJpbmVSZWR1Y2Vyc30gZnJvbSAncmVkdXgnO1xuaW1wb3J0IGxheW91dCBmcm9tICcuL2xheW91dCc7XG5pbXBvcnQgZ3JhcGhzIGZyb20gJy4vZGVwZW5kZW5jeUdyYXBoJztcbmltcG9ydCBwYXRocyBmcm9tICcuL3BhdGhzJztcbmltcG9ydCByZXF1ZXN0UXVldWUgZnJvbSAnLi9yZXF1ZXN0UXVldWUnO1xuaW1wb3J0IGFwcExpZmVjeWNsZSBmcm9tICcuL2FwcExpZmVjeWNsZSc7XG5pbXBvcnQgaGlzdG9yeSBmcm9tICcuL2hpc3RvcnknO1xuaW1wb3J0ICogYXMgQVBJIGZyb20gJy4vYXBpJztcbmltcG9ydCBjb25maWcgZnJvbSAnLi9jb25maWcnO1xuXG5jb25zdCByZWR1Y2VyID0gY29tYmluZVJlZHVjZXJzKHtcbiAgICBhcHBMaWZlY3ljbGUsXG4gICAgbGF5b3V0LFxuICAgIGdyYXBocyxcbiAgICBwYXRocyxcbiAgICByZXF1ZXN0UXVldWUsXG4gICAgY29uZmlnLFxuICAgIGRlcGVuZGVuY2llc1JlcXVlc3Q6IEFQSS5kZXBlbmRlbmNpZXNSZXF1ZXN0LFxuICAgIGxheW91dFJlcXVlc3Q6IEFQSS5sYXlvdXRSZXF1ZXN0LFxuICAgIGxvZ2luUmVxdWVzdDogQVBJLmxvZ2luUmVxdWVzdCxcbiAgICBoaXN0b3J5LFxufSk7XG5cbmZ1bmN0aW9uIGdldElucHV0SGlzdG9yeVN0YXRlKGl0ZW1wYXRoLCBwcm9wcywgc3RhdGUpIHtcbiAgICBjb25zdCB7Z3JhcGhzLCBsYXlvdXQsIHBhdGhzfSA9IHN0YXRlO1xuICAgIGNvbnN0IHtJbnB1dEdyYXBofSA9IGdyYXBocztcbiAgICBjb25zdCBrZXlPYmogPSBSLmZpbHRlcihSLmVxdWFscyhpdGVtcGF0aCksIHBhdGhzKTtcbiAgICBsZXQgaGlzdG9yeUVudHJ5O1xuICAgIGlmICghUi5pc0VtcHR5KGtleU9iaikpIHtcbiAgICAgICAgY29uc3QgaWQgPSBSLmtleXMoa2V5T2JqKVswXTtcbiAgICAgICAgaGlzdG9yeUVudHJ5ID0ge2lkLCBwcm9wczoge319O1xuICAgICAgICBSLmtleXMocHJvcHMpLmZvckVhY2gocHJvcEtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEtleSA9IGAke2lkfS4ke3Byb3BLZXl9YDtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBJbnB1dEdyYXBoLmhhc05vZGUoaW5wdXRLZXkpICYmXG4gICAgICAgICAgICAgICAgSW5wdXRHcmFwaC5kZXBlbmRlbmNpZXNPZihpbnB1dEtleSkubGVuZ3RoID4gMFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaGlzdG9yeUVudHJ5LnByb3BzW3Byb3BLZXldID0gdmlldyhcbiAgICAgICAgICAgICAgICAgICAgbGVuc1BhdGgoY29uY2F0KHBhdGhzW2lkXSwgWydwcm9wcycsIHByb3BLZXldKSksXG4gICAgICAgICAgICAgICAgICAgIGxheW91dFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeUVudHJ5O1xufVxuXG5mdW5jdGlvbiByZWNvcmRIaXN0b3J5KHJlZHVjZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RhdGUsIGFjdGlvbikge1xuICAgICAgICAvLyBSZWNvcmQgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBhY3Rpb24udHlwZSA9PT0gJ09OX1BST1BfQ0hBTkdFJyAmJlxuICAgICAgICAgICAgUi5pc0VtcHR5KHN0YXRlLmhpc3RvcnkucHJlc2VudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB7aXRlbXBhdGgsIHByb3BzfSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICAgICAgY29uc3QgaGlzdG9yeUVudHJ5ID0gZ2V0SW5wdXRIaXN0b3J5U3RhdGUoaXRlbXBhdGgsIHByb3BzLCBzdGF0ZSk7XG4gICAgICAgICAgICBpZiAoaGlzdG9yeUVudHJ5ICYmICFSLmlzRW1wdHkoaGlzdG9yeUVudHJ5LnByb3BzKSkge1xuICAgICAgICAgICAgICAgIHN0YXRlLmhpc3RvcnkucHJlc2VudCA9IGhpc3RvcnlFbnRyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHRTdGF0ZSA9IHJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgYWN0aW9uLnR5cGUgPT09ICdPTl9QUk9QX0NIQU5HRScgJiZcbiAgICAgICAgICAgIGFjdGlvbi5wYXlsb2FkLnNvdXJjZSAhPT0gJ3Jlc3BvbnNlJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHtpdGVtcGF0aCwgcHJvcHN9ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICogaWYgdGhlIHByb3AgY2hhbmdlIGlzIGFuIGlucHV0LCB0aGVuXG4gICAgICAgICAgICAgKiByZWNvcmQgaXQgc28gdGhhdCBpdCBjYW4gYmUgcGxheWVkIGJhY2tcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgaGlzdG9yeUVudHJ5ID0gZ2V0SW5wdXRIaXN0b3J5U3RhdGUoXG4gICAgICAgICAgICAgICAgaXRlbXBhdGgsXG4gICAgICAgICAgICAgICAgcHJvcHMsXG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGhpc3RvcnlFbnRyeSAmJiAhUi5pc0VtcHR5KGhpc3RvcnlFbnRyeS5wcm9wcykpIHtcbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUuaGlzdG9yeSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGFzdDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ubmV4dFN0YXRlLmhpc3RvcnkucGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHRTdGF0ZS5oaXN0b3J5LnByZXNlbnQsXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHByZXNlbnQ6IGhpc3RvcnlFbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgZnV0dXJlOiBbXSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRTdGF0ZTtcbiAgICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCByZWNvcmRIaXN0b3J5KHJlZHVjZXIpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/reducers/reducer.js\n"); /***/ }), @@ -5474,7 +5438,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar clone = _ramda.clone;\n\n\nvar requestQueue = function requestQueue() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments[1];\n\n switch (action.type) {\n case 'SET_REQUEST_QUEUE':\n return clone(action.payload);\n\n default:\n return state;\n }\n};\n\nexports.default = requestQueue;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3JlcXVlc3RRdWV1ZS5qcz8wZWNmIl0sIm5hbWVzIjpbImNsb25lIiwicmVxdWVzdFF1ZXVlIiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwicGF5bG9hZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBQVFBLEssVUFBQUEsSzs7O0FBRVIsSUFBTUMsZUFBZSxTQUFmQSxZQUFlLEdBQXdCO0FBQUEsUUFBdkJDLEtBQXVCLHVFQUFmLEVBQWU7QUFBQSxRQUFYQyxNQUFXOztBQUN6QyxZQUFRQSxPQUFPQyxJQUFmO0FBQ0ksYUFBSyxtQkFBTDtBQUNJLG1CQUFPSixNQUFNRyxPQUFPRSxPQUFiLENBQVA7O0FBRUo7QUFDSSxtQkFBT0gsS0FBUDtBQUxSO0FBT0gsQ0FSRDs7a0JBVWVELFkiLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvcmVxdWVzdFF1ZXVlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbG9uZX0gZnJvbSAncmFtZGEnO1xyXG5cclxuY29uc3QgcmVxdWVzdFF1ZXVlID0gKHN0YXRlID0gW10sIGFjdGlvbikgPT4ge1xyXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ1NFVF9SRVFVRVNUX1FVRVVFJzpcclxuICAgICAgICAgICAgcmV0dXJuIGNsb25lKGFjdGlvbi5wYXlsb2FkKTtcclxuXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCByZXF1ZXN0UXVldWU7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/reducers/requestQueue.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar requestQueue = function requestQueue() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments[1];\n\n switch (action.type) {\n case 'SET_REQUEST_QUEUE':\n return (0, _ramda.clone)(action.payload);\n\n default:\n return state;\n }\n};\n\nexports.default = requestQueue;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3JlcXVlc3RRdWV1ZS5qcz8wZWNmIl0sIm5hbWVzIjpbInJlcXVlc3RRdWV1ZSIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInBheWxvYWQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBLElBQU1BLGVBQWUsU0FBZkEsWUFBZSxHQUF3QjtBQUFBLFFBQXZCQyxLQUF1Qix1RUFBZixFQUFlO0FBQUEsUUFBWEMsTUFBVzs7QUFDekMsWUFBUUEsT0FBT0MsSUFBZjtBQUNJLGFBQUssbUJBQUw7QUFDSSxtQkFBTyxrQkFBTUQsT0FBT0UsT0FBYixDQUFQOztBQUVKO0FBQ0ksbUJBQU9ILEtBQVA7QUFMUjtBQU9ILENBUkQ7O2tCQVVlRCxZIiwiZmlsZSI6Ii4vc3JjL3JlZHVjZXJzL3JlcXVlc3RRdWV1ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y2xvbmV9IGZyb20gJ3JhbWRhJztcblxuY29uc3QgcmVxdWVzdFF1ZXVlID0gKHN0YXRlID0gW10sIGFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnU0VUX1JFUVVFU1RfUVVFVUUnOlxuICAgICAgICAgICAgcmV0dXJuIGNsb25lKGFjdGlvbi5wYXlsb2FkKTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHJlcXVlc3RRdWV1ZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/reducers/requestQueue.js\n"); /***/ }), @@ -5486,7 +5450,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.crawlLayout = undefined;\nexports.hasId = hasId;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar R = _interopRequireDefault(_ramda).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar extend = R.reduce(R.flip(R.append));\n\n// crawl a layout object, apply a function on every object\nvar crawlLayout = exports.crawlLayout = function crawlLayout(object, func) {\n var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n func(object, path);\n\n /*\r\n * object may be a string, a number, or null\r\n * R.has will return false for both of those types\r\n */\n if (R.type(object) === 'Object' && R.has('props', object) && R.has('children', object.props)) {\n var newPath = extend(path, ['props', 'children']);\n if (Array.isArray(object.props.children)) {\n object.props.children.forEach(function (child, i) {\n crawlLayout(child, func, R.append(i, newPath));\n });\n } else {\n crawlLayout(object.props.children, func, newPath);\n }\n } else if (R.type(object) === 'Array') {\n\n /*\r\n * Sometimes when we're updating a sub-tree\r\n * (like when we're responding to a callback)\r\n * that returns `{children: [{...}, {...}]}`\r\n * then we'll need to start crawling from\r\n * an array instead of an object.\r\n */\n\n object.forEach(function (child, i) {\n crawlLayout(child, func, R.append(i, path));\n });\n }\n};\n\nfunction hasId(child) {\n return R.type(child) === 'Object' && R.has('props', child) && R.has('id', child.props);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3V0aWxzLmpzP2RmZmYiXSwibmFtZXMiOlsiaGFzSWQiLCJSIiwiZXh0ZW5kIiwicmVkdWNlIiwiZmxpcCIsImFwcGVuZCIsImNyYXdsTGF5b3V0Iiwib2JqZWN0IiwiZnVuYyIsInBhdGgiLCJ0eXBlIiwiaGFzIiwicHJvcHMiLCJuZXdQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiY2hpbGQiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7UUFtRGdCQSxLLEdBQUFBLEs7O0FBbkRoQjs7SUFBT0MsQzs7OztBQUVQLElBQU1DLFNBQVNELEVBQUVFLE1BQUYsQ0FBU0YsRUFBRUcsSUFBRixDQUFPSCxFQUFFSSxNQUFULENBQVQsQ0FBZjs7QUFFQTtBQUNPLElBQU1DLG9DQUFjLFNBQWRBLFdBQWMsQ0FBQ0MsTUFBRCxFQUFTQyxJQUFULEVBQTJCO0FBQUEsUUFBWkMsSUFBWSx1RUFBUCxFQUFPOztBQUNsREQsU0FBS0QsTUFBTCxFQUFhRSxJQUFiOztBQUVBOzs7O0FBSUEsUUFBSVIsRUFBRVMsSUFBRixDQUFPSCxNQUFQLE1BQW1CLFFBQW5CLElBQ0FOLEVBQUVVLEdBQUYsQ0FBTSxPQUFOLEVBQWVKLE1BQWYsQ0FEQSxJQUVBTixFQUFFVSxHQUFGLENBQU0sVUFBTixFQUFrQkosT0FBT0ssS0FBekIsQ0FGSixFQUdFO0FBQ0UsWUFBTUMsVUFBVVgsT0FBT08sSUFBUCxFQUFhLENBQUMsT0FBRCxFQUFVLFVBQVYsQ0FBYixDQUFoQjtBQUNBLFlBQUlLLE1BQU1DLE9BQU4sQ0FBY1IsT0FBT0ssS0FBUCxDQUFhSSxRQUEzQixDQUFKLEVBQTBDO0FBQ3RDVCxtQkFBT0ssS0FBUCxDQUFhSSxRQUFiLENBQXNCQyxPQUF0QixDQUE4QixVQUFDQyxLQUFELEVBQVFDLENBQVIsRUFBYztBQUN4Q2IsNEJBQ0lZLEtBREosRUFFSVYsSUFGSixFQUdJUCxFQUFFSSxNQUFGLENBQVNjLENBQVQsRUFBWU4sT0FBWixDQUhKO0FBSUgsYUFMRDtBQU1ILFNBUEQsTUFPTztBQUNIUCx3QkFDSUMsT0FBT0ssS0FBUCxDQUFhSSxRQURqQixFQUVJUixJQUZKLEVBR0lLLE9BSEo7QUFLSDtBQUNKLEtBbkJELE1BbUJRLElBQUlaLEVBQUVTLElBQUYsQ0FBT0gsTUFBUCxNQUFtQixPQUF2QixFQUFnQzs7QUFFcEM7Ozs7Ozs7O0FBUUFBLGVBQU9VLE9BQVAsQ0FBZSxVQUFDQyxLQUFELEVBQVFDLENBQVIsRUFBYztBQUN6QmIsd0JBQ0lZLEtBREosRUFFSVYsSUFGSixFQUdJUCxFQUFFSSxNQUFGLENBQVNjLENBQVQsRUFBWVYsSUFBWixDQUhKO0FBSUgsU0FMRDtBQU9IO0FBQ0osQ0E1Q007O0FBOENBLFNBQVNULEtBQVQsQ0FBZWtCLEtBQWYsRUFBc0I7QUFDekIsV0FDSWpCLEVBQUVTLElBQUYsQ0FBT1EsS0FBUCxNQUFrQixRQUFsQixJQUNBakIsRUFBRVUsR0FBRixDQUFNLE9BQU4sRUFBZU8sS0FBZixDQURBLElBRUFqQixFQUFFVSxHQUFGLENBQU0sSUFBTixFQUFZTyxNQUFNTixLQUFsQixDQUhKO0FBS0giLCJmaWxlIjoiLi9zcmMvcmVkdWNlcnMvdXRpbHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUiBmcm9tICdyYW1kYSc7XHJcblxyXG5jb25zdCBleHRlbmQgPSBSLnJlZHVjZShSLmZsaXAoUi5hcHBlbmQpKVxyXG5cclxuLy8gY3Jhd2wgYSBsYXlvdXQgb2JqZWN0LCBhcHBseSBhIGZ1bmN0aW9uIG9uIGV2ZXJ5IG9iamVjdFxyXG5leHBvcnQgY29uc3QgY3Jhd2xMYXlvdXQgPSAob2JqZWN0LCBmdW5jLCBwYXRoPVtdKSA9PiB7XHJcbiAgICBmdW5jKG9iamVjdCwgcGF0aCk7XHJcblxyXG4gICAgLypcclxuICAgICAqIG9iamVjdCBtYXkgYmUgYSBzdHJpbmcsIGEgbnVtYmVyLCBvciBudWxsXHJcbiAgICAgKiBSLmhhcyB3aWxsIHJldHVybiBmYWxzZSBmb3IgYm90aCBvZiB0aG9zZSB0eXBlc1xyXG4gICAgICovXHJcbiAgICBpZiAoUi50eXBlKG9iamVjdCkgPT09ICdPYmplY3QnICYmXHJcbiAgICAgICAgUi5oYXMoJ3Byb3BzJywgb2JqZWN0KSAmJlxyXG4gICAgICAgIFIuaGFzKCdjaGlsZHJlbicsIG9iamVjdC5wcm9wcylcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5ld1BhdGggPSBleHRlbmQocGF0aCwgWydwcm9wcycsICdjaGlsZHJlbiddKTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIG9iamVjdC5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY3Jhd2xMYXlvdXQoXHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuYyxcclxuICAgICAgICAgICAgICAgICAgICBSLmFwcGVuZChpLCBuZXdQYXRoKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNyYXdsTGF5b3V0KFxyXG4gICAgICAgICAgICAgICAgb2JqZWN0LnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICAgICAgZnVuYyxcclxuICAgICAgICAgICAgICAgIG5ld1BhdGhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBlbHNlIGlmIChSLnR5cGUob2JqZWN0KSA9PT0gJ0FycmF5Jykge1xyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIFNvbWV0aW1lcyB3aGVuIHdlJ3JlIHVwZGF0aW5nIGEgc3ViLXRyZWVcclxuICAgICAgICAgKiAobGlrZSB3aGVuIHdlJ3JlIHJlc3BvbmRpbmcgdG8gYSBjYWxsYmFjaylcclxuICAgICAgICAgKiB0aGF0IHJldHVybnMgYHtjaGlsZHJlbjogW3suLi59LCB7Li4ufV19YFxyXG4gICAgICAgICAqIHRoZW4gd2UnbGwgbmVlZCB0byBzdGFydCBjcmF3bGluZyBmcm9tXHJcbiAgICAgICAgICogYW4gYXJyYXkgaW5zdGVhZCBvZiBhbiBvYmplY3QuXHJcbiAgICAgICAgICovXHJcblxyXG4gICAgICAgIG9iamVjdC5mb3JFYWNoKChjaGlsZCwgaSkgPT4ge1xyXG4gICAgICAgICAgICBjcmF3bExheW91dChcclxuICAgICAgICAgICAgICAgIGNoaWxkLFxyXG4gICAgICAgICAgICAgICAgZnVuYyxcclxuICAgICAgICAgICAgICAgIFIuYXBwZW5kKGksIHBhdGgpKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYXNJZChjaGlsZCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICBSLnR5cGUoY2hpbGQpID09PSAnT2JqZWN0JyAmJlxyXG4gICAgICAgIFIuaGFzKCdwcm9wcycsIGNoaWxkKSAmJlxyXG4gICAgICAgIFIuaGFzKCdpZCcsIGNoaWxkLnByb3BzKVxyXG4gICAgKTtcclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/reducers/utils.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.crawlLayout = undefined;\nexports.hasId = hasId;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar _ramda2 = _interopRequireDefault(_ramda);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar extend = _ramda2.default.reduce(_ramda2.default.flip(_ramda2.default.append));\n\n// crawl a layout object, apply a function on every object\nvar crawlLayout = exports.crawlLayout = function crawlLayout(object, func) {\n var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n func(object, path);\n\n /*\n * object may be a string, a number, or null\n * R.has will return false for both of those types\n */\n if (_ramda2.default.type(object) === 'Object' && _ramda2.default.has('props', object) && _ramda2.default.has('children', object.props)) {\n var newPath = extend(path, ['props', 'children']);\n if (Array.isArray(object.props.children)) {\n object.props.children.forEach(function (child, i) {\n crawlLayout(child, func, _ramda2.default.append(i, newPath));\n });\n } else {\n crawlLayout(object.props.children, func, newPath);\n }\n } else if (_ramda2.default.type(object) === 'Array') {\n /*\n * Sometimes when we're updating a sub-tree\n * (like when we're responding to a callback)\n * that returns `{children: [{...}, {...}]}`\n * then we'll need to start crawling from\n * an array instead of an object.\n */\n\n object.forEach(function (child, i) {\n crawlLayout(child, func, _ramda2.default.append(i, path));\n });\n }\n};\n\nfunction hasId(child) {\n return _ramda2.default.type(child) === 'Object' && _ramda2.default.has('props', child) && _ramda2.default.has('id', child.props);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZHVjZXJzL3V0aWxzLmpzP2RmZmYiXSwibmFtZXMiOlsiaGFzSWQiLCJleHRlbmQiLCJSIiwicmVkdWNlIiwiZmxpcCIsImFwcGVuZCIsImNyYXdsTGF5b3V0Iiwib2JqZWN0IiwiZnVuYyIsInBhdGgiLCJ0eXBlIiwiaGFzIiwicHJvcHMiLCJuZXdQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiY2hpbGQiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7UUF3Q2dCQSxLLEdBQUFBLEs7O0FBeENoQjs7Ozs7O0FBRUEsSUFBTUMsU0FBU0MsZ0JBQUVDLE1BQUYsQ0FBU0QsZ0JBQUVFLElBQUYsQ0FBT0YsZ0JBQUVHLE1BQVQsQ0FBVCxDQUFmOztBQUVBO0FBQ08sSUFBTUMsb0NBQWMsU0FBZEEsV0FBYyxDQUFDQyxNQUFELEVBQVNDLElBQVQsRUFBNkI7QUFBQSxRQUFkQyxJQUFjLHVFQUFQLEVBQU87O0FBQ3BERCxTQUFLRCxNQUFMLEVBQWFFLElBQWI7O0FBRUE7Ozs7QUFJQSxRQUNJUCxnQkFBRVEsSUFBRixDQUFPSCxNQUFQLE1BQW1CLFFBQW5CLElBQ0FMLGdCQUFFUyxHQUFGLENBQU0sT0FBTixFQUFlSixNQUFmLENBREEsSUFFQUwsZ0JBQUVTLEdBQUYsQ0FBTSxVQUFOLEVBQWtCSixPQUFPSyxLQUF6QixDQUhKLEVBSUU7QUFDRSxZQUFNQyxVQUFVWixPQUFPUSxJQUFQLEVBQWEsQ0FBQyxPQUFELEVBQVUsVUFBVixDQUFiLENBQWhCO0FBQ0EsWUFBSUssTUFBTUMsT0FBTixDQUFjUixPQUFPSyxLQUFQLENBQWFJLFFBQTNCLENBQUosRUFBMEM7QUFDdENULG1CQUFPSyxLQUFQLENBQWFJLFFBQWIsQ0FBc0JDLE9BQXRCLENBQThCLFVBQUNDLEtBQUQsRUFBUUMsQ0FBUixFQUFjO0FBQ3hDYiw0QkFBWVksS0FBWixFQUFtQlYsSUFBbkIsRUFBeUJOLGdCQUFFRyxNQUFGLENBQVNjLENBQVQsRUFBWU4sT0FBWixDQUF6QjtBQUNILGFBRkQ7QUFHSCxTQUpELE1BSU87QUFDSFAsd0JBQVlDLE9BQU9LLEtBQVAsQ0FBYUksUUFBekIsRUFBbUNSLElBQW5DLEVBQXlDSyxPQUF6QztBQUNIO0FBQ0osS0FiRCxNQWFPLElBQUlYLGdCQUFFUSxJQUFGLENBQU9ILE1BQVAsTUFBbUIsT0FBdkIsRUFBZ0M7QUFDbkM7Ozs7Ozs7O0FBUUFBLGVBQU9VLE9BQVAsQ0FBZSxVQUFDQyxLQUFELEVBQVFDLENBQVIsRUFBYztBQUN6QmIsd0JBQVlZLEtBQVosRUFBbUJWLElBQW5CLEVBQXlCTixnQkFBRUcsTUFBRixDQUFTYyxDQUFULEVBQVlWLElBQVosQ0FBekI7QUFDSCxTQUZEO0FBR0g7QUFDSixDQWpDTTs7QUFtQ0EsU0FBU1QsS0FBVCxDQUFla0IsS0FBZixFQUFzQjtBQUN6QixXQUNJaEIsZ0JBQUVRLElBQUYsQ0FBT1EsS0FBUCxNQUFrQixRQUFsQixJQUNBaEIsZ0JBQUVTLEdBQUYsQ0FBTSxPQUFOLEVBQWVPLEtBQWYsQ0FEQSxJQUVBaEIsZ0JBQUVTLEdBQUYsQ0FBTSxJQUFOLEVBQVlPLE1BQU1OLEtBQWxCLENBSEo7QUFLSCIsImZpbGUiOiIuL3NyYy9yZWR1Y2Vycy91dGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSIGZyb20gJ3JhbWRhJztcblxuY29uc3QgZXh0ZW5kID0gUi5yZWR1Y2UoUi5mbGlwKFIuYXBwZW5kKSk7XG5cbi8vIGNyYXdsIGEgbGF5b3V0IG9iamVjdCwgYXBwbHkgYSBmdW5jdGlvbiBvbiBldmVyeSBvYmplY3RcbmV4cG9ydCBjb25zdCBjcmF3bExheW91dCA9IChvYmplY3QsIGZ1bmMsIHBhdGggPSBbXSkgPT4ge1xuICAgIGZ1bmMob2JqZWN0LCBwYXRoKTtcblxuICAgIC8qXG4gICAgICogb2JqZWN0IG1heSBiZSBhIHN0cmluZywgYSBudW1iZXIsIG9yIG51bGxcbiAgICAgKiBSLmhhcyB3aWxsIHJldHVybiBmYWxzZSBmb3IgYm90aCBvZiB0aG9zZSB0eXBlc1xuICAgICAqL1xuICAgIGlmIChcbiAgICAgICAgUi50eXBlKG9iamVjdCkgPT09ICdPYmplY3QnICYmXG4gICAgICAgIFIuaGFzKCdwcm9wcycsIG9iamVjdCkgJiZcbiAgICAgICAgUi5oYXMoJ2NoaWxkcmVuJywgb2JqZWN0LnByb3BzKVxuICAgICkge1xuICAgICAgICBjb25zdCBuZXdQYXRoID0gZXh0ZW5kKHBhdGgsIFsncHJvcHMnLCAnY2hpbGRyZW4nXSk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iamVjdC5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgIG9iamVjdC5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNyYXdsTGF5b3V0KGNoaWxkLCBmdW5jLCBSLmFwcGVuZChpLCBuZXdQYXRoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNyYXdsTGF5b3V0KG9iamVjdC5wcm9wcy5jaGlsZHJlbiwgZnVuYywgbmV3UGF0aCk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFIudHlwZShvYmplY3QpID09PSAnQXJyYXknKSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFNvbWV0aW1lcyB3aGVuIHdlJ3JlIHVwZGF0aW5nIGEgc3ViLXRyZWVcbiAgICAgICAgICogKGxpa2Ugd2hlbiB3ZSdyZSByZXNwb25kaW5nIHRvIGEgY2FsbGJhY2spXG4gICAgICAgICAqIHRoYXQgcmV0dXJucyBge2NoaWxkcmVuOiBbey4uLn0sIHsuLi59XX1gXG4gICAgICAgICAqIHRoZW4gd2UnbGwgbmVlZCB0byBzdGFydCBjcmF3bGluZyBmcm9tXG4gICAgICAgICAqIGFuIGFycmF5IGluc3RlYWQgb2YgYW4gb2JqZWN0LlxuICAgICAgICAgKi9cblxuICAgICAgICBvYmplY3QuZm9yRWFjaCgoY2hpbGQsIGkpID0+IHtcbiAgICAgICAgICAgIGNyYXdsTGF5b3V0KGNoaWxkLCBmdW5jLCBSLmFwcGVuZChpLCBwYXRoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJZChjaGlsZCkge1xuICAgIHJldHVybiAoXG4gICAgICAgIFIudHlwZShjaGlsZCkgPT09ICdPYmplY3QnICYmXG4gICAgICAgIFIuaGFzKCdwcm9wcycsIGNoaWxkKSAmJlxuICAgICAgICBSLmhhcygnaWQnLCBjaGlsZC5wcm9wcylcbiAgICApO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/reducers/utils.js\n"); /***/ }), @@ -5498,7 +5462,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n resolve: function resolve(componentName, namespace) {\n var ns = window[namespace]; /* global window: true */\n\n if (ns) {\n if (ns[componentName]) {\n return ns[componentName];\n }\n\n throw new Error('Component ' + componentName + ' not found in\\n ' + namespace);\n }\n\n throw new Error(namespace + ' was not found.');\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZ2lzdHJ5LmpzP2YxOTQiXSwibmFtZXMiOlsicmVzb2x2ZSIsImNvbXBvbmVudE5hbWUiLCJuYW1lc3BhY2UiLCJucyIsIndpbmRvdyIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBYTs7Ozs7a0JBRUU7QUFDWEEsYUFBUyxpQkFBQ0MsYUFBRCxFQUFnQkMsU0FBaEIsRUFBOEI7QUFDbkMsWUFBTUMsS0FBS0MsT0FBT0YsU0FBUCxDQUFYLENBRG1DLENBQ0w7O0FBRTlCLFlBQUlDLEVBQUosRUFBUTtBQUNKLGdCQUFJQSxHQUFHRixhQUFILENBQUosRUFBdUI7QUFDbkIsdUJBQU9FLEdBQUdGLGFBQUgsQ0FBUDtBQUNIOztBQUVELGtCQUFNLElBQUlJLEtBQUosZ0JBQXVCSixhQUF2Qix1Q0FDQUMsU0FEQSxDQUFOO0FBRUg7O0FBRUQsY0FBTSxJQUFJRyxLQUFKLENBQWFILFNBQWIscUJBQU47QUFDSDtBQWRVLEMiLCJmaWxlIjoiLi9zcmMvcmVnaXN0cnkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgICByZXNvbHZlOiAoY29tcG9uZW50TmFtZSwgbmFtZXNwYWNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbnMgPSB3aW5kb3dbbmFtZXNwYWNlXTsgLyogZ2xvYmFsIHdpbmRvdzogdHJ1ZSAqL1xyXG5cclxuICAgICAgICBpZiAobnMpIHtcclxuICAgICAgICAgICAgaWYgKG5zW2NvbXBvbmVudE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnNbY29tcG9uZW50TmFtZV07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gbm90IGZvdW5kIGluXHJcbiAgICAgICAgICAgICAgICAke25hbWVzcGFjZX1gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lc3BhY2V9IHdhcyBub3QgZm91bmQuYCk7XHJcbiAgICB9XHJcbn07XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/registry.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n resolve: function resolve(componentName, namespace) {\n var ns = window[namespace]; /* global window: true */\n\n if (ns) {\n if (ns[componentName]) {\n return ns[componentName];\n }\n\n throw new Error('Component ' + componentName + ' not found in\\n ' + namespace);\n }\n\n throw new Error(namespace + ' was not found.');\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3JlZ2lzdHJ5LmpzP2YxOTQiXSwibmFtZXMiOlsicmVzb2x2ZSIsImNvbXBvbmVudE5hbWUiLCJuYW1lc3BhY2UiLCJucyIsIndpbmRvdyIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBYTs7Ozs7a0JBRUU7QUFDWEEsYUFBUyxpQkFBQ0MsYUFBRCxFQUFnQkMsU0FBaEIsRUFBOEI7QUFDbkMsWUFBTUMsS0FBS0MsT0FBT0YsU0FBUCxDQUFYLENBRG1DLENBQ0w7O0FBRTlCLFlBQUlDLEVBQUosRUFBUTtBQUNKLGdCQUFJQSxHQUFHRixhQUFILENBQUosRUFBdUI7QUFDbkIsdUJBQU9FLEdBQUdGLGFBQUgsQ0FBUDtBQUNIOztBQUVELGtCQUFNLElBQUlJLEtBQUosZ0JBQXVCSixhQUF2Qix1Q0FDQUMsU0FEQSxDQUFOO0FBRUg7O0FBRUQsY0FBTSxJQUFJRyxLQUFKLENBQWFILFNBQWIscUJBQU47QUFDSDtBQWRVLEMiLCJmaWxlIjoiLi9zcmMvcmVnaXN0cnkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICByZXNvbHZlOiAoY29tcG9uZW50TmFtZSwgbmFtZXNwYWNlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5zID0gd2luZG93W25hbWVzcGFjZV07IC8qIGdsb2JhbCB3aW5kb3c6IHRydWUgKi9cblxuICAgICAgICBpZiAobnMpIHtcbiAgICAgICAgICAgIGlmIChuc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuc1tjb21wb25lbnROYW1lXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBub3QgZm91bmQgaW5cbiAgICAgICAgICAgICAgICAke25hbWVzcGFjZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lc3BhY2V9IHdhcyBub3QgZm91bmQuYCk7XG4gICAgfSxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/registry.js\n"); /***/ }), @@ -5510,7 +5474,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar createStore = _redux.createStore;\nvar applyMiddleware = _redux.applyMiddleware;\n\nvar _reduxThunk = __webpack_require__(/*! redux-thunk */ \"./node_modules/redux-thunk/lib/index.js\");\n\nvar thunk = _interopRequireDefault(_reduxThunk).default;\n\nvar _reducer = __webpack_require__(/*! ./reducers/reducer */ \"./src/reducers/reducer.js\");\n\nvar reducer = _interopRequireDefault(_reducer).default;\n\nvar _reduxLogger = __webpack_require__(/*! redux-logger */ \"./node_modules/redux-logger/lib/index.js\");\n\nvar createLogger = _interopRequireDefault(_reduxLogger).default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* global module, require */\n\nvar logger = void 0;\nif (true) // only set up logger in non-production mode\n logger = createLogger();\nvar store = void 0;\n\n/**\r\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\r\n *\r\n * @returns {Store}\r\n * An initialized redux store with middleware and possible hot reloading of reducers\r\n */\nvar initializeStore = function initializeStore() {\n if (store) {\n return store;\n }\n\n // only attach logger to middleware in non-production mode\n store = false ? undefined : createStore(reducer, applyMiddleware(thunk, logger));\n\n // TODO - Protect this under a debug mode?\n window.store = store; /* global window:true */\n\n if (false) {}\n\n return store;\n};\n\nexports.default = initializeStore;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3N0b3JlLmpzP2MwZDYiXSwibmFtZXMiOlsiY3JlYXRlU3RvcmUiLCJhcHBseU1pZGRsZXdhcmUiLCJ0aHVuayIsInJlZHVjZXIiLCJjcmVhdGVMb2dnZXIiLCJsb2dnZXIiLCJzdG9yZSIsImluaXRpYWxpemVTdG9yZSIsIndpbmRvdyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0lBQVFBLFcsVUFBQUEsVztJQUFhQyxlLFVBQUFBLGU7O0FBQ3JCOztJQUFPQyxLOztBQUNQOztJQUFPQyxPOztBQUNQOztJQUFPQyxZOzs7O0FBTFA7O0FBUUEsSUFBSUMsZUFBSjtBQUNBLElBQUksSUFBSixFQUE0QztBQUN4Q0EsYUFBU0QsY0FBVDtBQUNKLElBQUlFLGNBQUo7O0FBRUE7Ozs7OztBQU1BLElBQU1DLGtCQUFrQixTQUFsQkEsZUFBa0IsR0FBTTtBQUMxQixRQUFJRCxLQUFKLEVBQVc7QUFDUCxlQUFPQSxLQUFQO0FBQ0g7O0FBRUQ7QUFDQUEsWUFBUSxTQUNGLFNBREUsR0FFRk4sWUFBWUcsT0FBWixFQUFxQkYsZ0JBQWdCQyxLQUFoQixFQUF1QkcsTUFBdkIsQ0FBckIsQ0FGTjs7QUFLQTtBQUNBRyxXQUFPRixLQUFQLEdBQWVBLEtBQWYsQ0FaMEIsQ0FZSjs7QUFFdEIsUUFBSSxLQUFKLEVBQWdCLEVBT2Y7O0FBRUQsV0FBT0EsS0FBUDtBQUNILENBeEJEOztrQkEwQmVDLGUiLCJmaWxlIjoiLi9zcmMvc3RvcmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgbW9kdWxlLCByZXF1aXJlICovXHJcblxyXG5pbXBvcnQge2NyZWF0ZVN0b3JlLCBhcHBseU1pZGRsZXdhcmV9IGZyb20gJ3JlZHV4JztcclxuaW1wb3J0IHRodW5rIGZyb20gJ3JlZHV4LXRodW5rJztcclxuaW1wb3J0IHJlZHVjZXIgZnJvbSAnLi9yZWR1Y2Vycy9yZWR1Y2VyJztcclxuaW1wb3J0IGNyZWF0ZUxvZ2dlciBmcm9tICdyZWR1eC1sb2dnZXInO1xyXG5cclxuXHJcbmxldCBsb2dnZXI7XHJcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSAgLy8gb25seSBzZXQgdXAgbG9nZ2VyIGluIG5vbi1wcm9kdWN0aW9uIG1vZGVcclxuICAgIGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcigpO1xyXG5sZXQgc3RvcmU7XHJcblxyXG4vKipcclxuICogSW5pdGlhbGl6ZSBhIFJlZHV4IHN0b3JlIHdpdGggdGh1bmssIHBsdXMgbG9nZ2luZyAob25seSBpbiBkZXZlbG9wbWVudCBtb2RlKSBtaWRkbGV3YXJlXHJcbiAqXHJcbiAqIEByZXR1cm5zIHtTdG9yZTxHZW5lcmljU3RvcmVFbmhhbmNlcj59XHJcbiAqICBBbiBpbml0aWFsaXplZCByZWR1eCBzdG9yZSB3aXRoIG1pZGRsZXdhcmUgYW5kIHBvc3NpYmxlIGhvdCByZWxvYWRpbmcgb2YgcmVkdWNlcnNcclxuICovXHJcbmNvbnN0IGluaXRpYWxpemVTdG9yZSA9ICgpID0+IHtcclxuICAgIGlmIChzdG9yZSkge1xyXG4gICAgICAgIHJldHVybiBzdG9yZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvbmx5IGF0dGFjaCBsb2dnZXIgdG8gbWlkZGxld2FyZSBpbiBub24tcHJvZHVjdGlvbiBtb2RlXHJcbiAgICBzdG9yZSA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbidcclxuICAgICAgICA/IGNyZWF0ZVN0b3JlKHJlZHVjZXIsIGFwcGx5TWlkZGxld2FyZSh0aHVuaykpXHJcbiAgICAgICAgOiBjcmVhdGVTdG9yZShyZWR1Y2VyLCBhcHBseU1pZGRsZXdhcmUodGh1bmssIGxvZ2dlcikpO1xyXG5cclxuXHJcbiAgICAvLyBUT0RPIC0gUHJvdGVjdCB0aGlzIHVuZGVyIGEgZGVidWcgbW9kZT9cclxuICAgIHdpbmRvdy5zdG9yZSA9IHN0b3JlOyAvKiBnbG9iYWwgd2luZG93OnRydWUgKi9cclxuXHJcbiAgICBpZiAobW9kdWxlLmhvdCkge1xyXG4gICAgICAgIC8vIEVuYWJsZSBob3QgbW9kdWxlIHJlcGxhY2VtZW50IGZvciByZWR1Y2Vyc1xyXG4gICAgICAgIG1vZHVsZS5ob3QuYWNjZXB0KCcuL3JlZHVjZXJzL3JlZHVjZXInLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5leHRSb290UmVkdWNlciA9IHJlcXVpcmUoJy4vcmVkdWNlcnMvcmVkdWNlcicpO1xyXG5cclxuICAgICAgICAgICAgc3RvcmUucmVwbGFjZVJlZHVjZXIobmV4dFJvb3RSZWR1Y2VyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RvcmU7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplU3RvcmU7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/store.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar _reduxThunk = __webpack_require__(/*! redux-thunk */ \"./node_modules/redux-thunk/es/index.js\");\n\nvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\nvar _reducer = __webpack_require__(/*! ./reducers/reducer */ \"./src/reducers/reducer.js\");\n\nvar _reducer2 = _interopRequireDefault(_reducer);\n\nvar _reduxLogger = __webpack_require__(/*! redux-logger */ \"./node_modules/redux-logger/lib/index.js\");\n\nvar _reduxLogger2 = _interopRequireDefault(_reduxLogger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* global module, require */\n\nvar logger = void 0;\n// only set up logger in non-production mode\nif (true) {\n logger = (0, _reduxLogger2.default)();\n}\nvar store = void 0;\n\n/**\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\n *\n * @returns {Store}\n * An initialized redux store with middleware and possible hot reloading of reducers\n */\nvar initializeStore = function initializeStore() {\n if (store) {\n return store;\n }\n\n // only attach logger to middleware in non-production mode\n store = false ? undefined : (0, _redux.createStore)(_reducer2.default, (0, _redux.applyMiddleware)(_reduxThunk2.default, logger));\n\n // TODO - Protect this under a debug mode?\n window.store = store; /* global window:true */\n\n if (false) {}\n\n return store;\n};\n\nexports.default = initializeStore;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3N0b3JlLmpzP2MwZDYiXSwibmFtZXMiOlsibG9nZ2VyIiwicHJvY2VzcyIsInN0b3JlIiwiaW5pdGlhbGl6ZVN0b3JlIiwicmVkdWNlciIsInRodW5rIiwid2luZG93IiwibW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUxBOztBQU9BLElBQUlBLGVBQUo7QUFDQTtBQUNBLElBQUlDLElBQUosRUFBMkM7QUFDdkNELGFBQVMsNEJBQVQ7QUFDSDtBQUNELElBQUlFLGNBQUo7O0FBRUE7Ozs7OztBQU1BLElBQU1DLGtCQUFrQixTQUFsQkEsZUFBa0IsR0FBTTtBQUMxQixRQUFJRCxLQUFKLEVBQVc7QUFDUCxlQUFPQSxLQUFQO0FBQ0g7O0FBRUQ7QUFDQUEsWUFDSUQsTUFBQSxHQUNNLFNBRE4sR0FFTSx3QkFBWUcsaUJBQVosRUFBcUIsNEJBQWdCQyxvQkFBaEIsRUFBdUJMLE1BQXZCLENBQXJCLENBSFY7O0FBS0E7QUFDQU0sV0FBT0osS0FBUCxHQUFlQSxLQUFmLENBWjBCLENBWUo7O0FBRXRCLFFBQUlLLEtBQUosRUFBZ0IsRUFPZjs7QUFFRCxXQUFPTCxLQUFQO0FBQ0gsQ0F4QkQ7O2tCQTBCZUMsZSIsImZpbGUiOiIuL3NyYy9zdG9yZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBtb2R1bGUsIHJlcXVpcmUgKi9cblxuaW1wb3J0IHtjcmVhdGVTdG9yZSwgYXBwbHlNaWRkbGV3YXJlfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdGh1bmsgZnJvbSAncmVkdXgtdGh1bmsnO1xuaW1wb3J0IHJlZHVjZXIgZnJvbSAnLi9yZWR1Y2Vycy9yZWR1Y2VyJztcbmltcG9ydCBjcmVhdGVMb2dnZXIgZnJvbSAncmVkdXgtbG9nZ2VyJztcblxubGV0IGxvZ2dlcjtcbi8vIG9ubHkgc2V0IHVwIGxvZ2dlciBpbiBub24tcHJvZHVjdGlvbiBtb2RlXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcigpO1xufVxubGV0IHN0b3JlO1xuXG4vKipcbiAqIEluaXRpYWxpemUgYSBSZWR1eCBzdG9yZSB3aXRoIHRodW5rLCBwbHVzIGxvZ2dpbmcgKG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZSkgbWlkZGxld2FyZVxuICpcbiAqIEByZXR1cm5zIHtTdG9yZTxHZW5lcmljU3RvcmVFbmhhbmNlcj59XG4gKiAgQW4gaW5pdGlhbGl6ZWQgcmVkdXggc3RvcmUgd2l0aCBtaWRkbGV3YXJlIGFuZCBwb3NzaWJsZSBob3QgcmVsb2FkaW5nIG9mIHJlZHVjZXJzXG4gKi9cbmNvbnN0IGluaXRpYWxpemVTdG9yZSA9ICgpID0+IHtcbiAgICBpZiAoc3RvcmUpIHtcbiAgICAgICAgcmV0dXJuIHN0b3JlO1xuICAgIH1cblxuICAgIC8vIG9ubHkgYXR0YWNoIGxvZ2dlciB0byBtaWRkbGV3YXJlIGluIG5vbi1wcm9kdWN0aW9uIG1vZGVcbiAgICBzdG9yZSA9XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbidcbiAgICAgICAgICAgID8gY3JlYXRlU3RvcmUocmVkdWNlciwgYXBwbHlNaWRkbGV3YXJlKHRodW5rKSlcbiAgICAgICAgICAgIDogY3JlYXRlU3RvcmUocmVkdWNlciwgYXBwbHlNaWRkbGV3YXJlKHRodW5rLCBsb2dnZXIpKTtcblxuICAgIC8vIFRPRE8gLSBQcm90ZWN0IHRoaXMgdW5kZXIgYSBkZWJ1ZyBtb2RlP1xuICAgIHdpbmRvdy5zdG9yZSA9IHN0b3JlOyAvKiBnbG9iYWwgd2luZG93OnRydWUgKi9cblxuICAgIGlmIChtb2R1bGUuaG90KSB7XG4gICAgICAgIC8vIEVuYWJsZSBob3QgbW9kdWxlIHJlcGxhY2VtZW50IGZvciByZWR1Y2Vyc1xuICAgICAgICBtb2R1bGUuaG90LmFjY2VwdCgnLi9yZWR1Y2Vycy9yZWR1Y2VyJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dFJvb3RSZWR1Y2VyID0gcmVxdWlyZSgnLi9yZWR1Y2Vycy9yZWR1Y2VyJyk7XG5cbiAgICAgICAgICAgIHN0b3JlLnJlcGxhY2VSZWR1Y2VyKG5leHRSb290UmVkdWNlcik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdG9yZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGluaXRpYWxpemVTdG9yZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/store.js\n"); /***/ }), @@ -5522,7 +5486,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * dash renderer is purposely style-free\r\n * Dash apps should be styled through\r\n * CSS style sheets on the app level,\r\n * in component-suites, or as inline styles\r\n * in the component layouts.\r\n *\r\n * The styles contained in dash-renderer are\r\n * just for a couple of interfaces:\r\n * - Loading messages\r\n * - Login screens\r\n *\r\n */\n\nvar base = exports.base = {\n html: {\n fontFamily: \"'Open Sans', Helvetica, sans-serif\",\n fontWeight: 400,\n color: '#2A3F5F'\n },\n\n h2: {\n fontFamily: 'Dosis, Helvetica, sans-serif',\n fontWeight: '600',\n fontSize: '28px',\n marginTop: '14px',\n marginBottom: '14px'\n },\n\n h4: {\n fontSize: '18px',\n marginTop: '9px',\n marginBottom: '18px'\n },\n\n button: {\n border: '1px solid #119DFF',\n fontSize: '14px',\n color: '#ffffff',\n backgroundColor: '#119DFF',\n padding: '9px 18px',\n borderRadius: '5px',\n textAlign: 'center',\n textTransform: 'capitalize',\n letterSpacing: '0.5px',\n lineHeight: '1',\n cursor: 'pointer',\n outline: 'none',\n margin: '0px'\n },\n\n a: {\n color: '#119DFF',\n textDecoration: 'none',\n cursor: 'pointer'\n },\n\n caption: {\n fontSize: '13px',\n marginTop: '20px',\n color: '#A2B1C6'\n },\n\n container: {\n marginLeft: 'auto',\n marginRight: 'auto',\n width: '90%',\n maxWidth: '300px'\n }\n};\n\nexports.default = base;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3N0eWxlcy9zdHlsZXMuanM/OWMzNCJdLCJuYW1lcyI6WyJiYXNlIiwiaHRtbCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY29sb3IiLCJoMiIsImZvbnRTaXplIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwiaDQiLCJidXR0b24iLCJib3JkZXIiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWRkaW5nIiwiYm9yZGVyUmFkaXVzIiwidGV4dEFsaWduIiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJsaW5lSGVpZ2h0IiwiY3Vyc29yIiwib3V0bGluZSIsIm1hcmdpbiIsImEiLCJ0ZXh0RGVjb3JhdGlvbiIsImNhcHRpb24iLCJjb250YWluZXIiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJ3aWR0aCIsIm1heFdpZHRoIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQWNPLElBQU1BLHNCQUFPO0FBQ2hCQyxVQUFNO0FBQ0ZDLG9CQUFZLG9DQURWO0FBRUZDLG9CQUFZLEdBRlY7QUFHRkMsZUFBTztBQUhMLEtBRFU7O0FBT2hCQyxRQUFJO0FBQ0FILG9CQUFZLDhCQURaO0FBRUFDLG9CQUFZLEtBRlo7QUFHQUcsa0JBQVUsTUFIVjtBQUlBQyxtQkFBVyxNQUpYO0FBS0FDLHNCQUFjO0FBTGQsS0FQWTs7QUFlaEJDLFFBQUk7QUFDQUgsa0JBQVUsTUFEVjtBQUVBQyxtQkFBVyxLQUZYO0FBR0FDLHNCQUFjO0FBSGQsS0FmWTs7QUFxQmhCRSxZQUFRO0FBQ0pDLGdCQUFRLG1CQURKO0FBRUpMLGtCQUFVLE1BRk47QUFHSkYsZUFBTyxTQUhIO0FBSUpRLHlCQUFpQixTQUpiO0FBS0pDLGlCQUFTLFVBTEw7QUFNSkMsc0JBQWMsS0FOVjtBQU9KQyxtQkFBVyxRQVBQO0FBUUpDLHVCQUFlLFlBUlg7QUFTSkMsdUJBQWUsT0FUWDtBQVVKQyxvQkFBWSxHQVZSO0FBV0pDLGdCQUFRLFNBWEo7QUFZSkMsaUJBQVMsTUFaTDtBQWFKQyxnQkFBUTtBQWJKLEtBckJROztBQXFDaEJDLE9BQUc7QUFDQ2xCLGVBQU8sU0FEUjtBQUVDbUIsd0JBQWdCLE1BRmpCO0FBR0NKLGdCQUFRO0FBSFQsS0FyQ2E7O0FBMkNoQkssYUFBUztBQUNMbEIsa0JBQVUsTUFETDtBQUVMQyxtQkFBVyxNQUZOO0FBR0xILGVBQU87QUFIRixLQTNDTzs7QUFpRGhCcUIsZUFBVztBQUNQQyxvQkFBWSxNQURMO0FBRVBDLHFCQUFhLE1BRk47QUFHUEMsZUFBTyxLQUhBO0FBSVBDLGtCQUFVO0FBSkg7QUFqREssQ0FBYjs7a0JBeURRN0IsSSIsImZpbGUiOiIuL3NyYy9zdHlsZXMvc3R5bGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogZGFzaCByZW5kZXJlciBpcyBwdXJwb3NlbHkgc3R5bGUtZnJlZVxyXG4gKiBEYXNoIGFwcHMgc2hvdWxkIGJlIHN0eWxlZCB0aHJvdWdoXHJcbiAqIENTUyBzdHlsZSBzaGVldHMgb24gdGhlIGFwcCBsZXZlbCxcclxuICogaW4gY29tcG9uZW50LXN1aXRlcywgb3IgYXMgaW5saW5lIHN0eWxlc1xyXG4gKiBpbiB0aGUgY29tcG9uZW50IGxheW91dHMuXHJcbiAqXHJcbiAqIFRoZSBzdHlsZXMgY29udGFpbmVkIGluIGRhc2gtcmVuZGVyZXIgYXJlXHJcbiAqIGp1c3QgZm9yIGEgY291cGxlIG9mIGludGVyZmFjZXM6XHJcbiAqIC0gTG9hZGluZyBtZXNzYWdlc1xyXG4gKiAtIExvZ2luIHNjcmVlbnNcclxuICpcclxuICovXHJcblxyXG5leHBvcnQgY29uc3QgYmFzZSA9IHtcclxuICAgIGh0bWw6IHtcclxuICAgICAgICBmb250RmFtaWx5OiBcIidPcGVuIFNhbnMnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZcIixcclxuICAgICAgICBmb250V2VpZ2h0OiA0MDAsXHJcbiAgICAgICAgY29sb3I6ICcjMkEzRjVGJ1xyXG4gICAgfSxcclxuXHJcbiAgICBoMjoge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6ICdEb3NpcywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJyxcclxuICAgICAgICBmb250V2VpZ2h0OiAnNjAwJyxcclxuICAgICAgICBmb250U2l6ZTogJzI4cHgnLFxyXG4gICAgICAgIG1hcmdpblRvcDogJzE0cHgnLFxyXG4gICAgICAgIG1hcmdpbkJvdHRvbTogJzE0cHgnLFxyXG4gICAgfSxcclxuXHJcbiAgICBoNDoge1xyXG4gICAgICAgIGZvbnRTaXplOiAnMThweCcsXHJcbiAgICAgICAgbWFyZ2luVG9wOiAnOXB4JyxcclxuICAgICAgICBtYXJnaW5Cb3R0b206ICcxOHB4JyxcclxuICAgIH0sXHJcblxyXG4gICAgYnV0dG9uOiB7XHJcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMxMTlERkYnLFxyXG4gICAgICAgIGZvbnRTaXplOiAnMTRweCcsXHJcbiAgICAgICAgY29sb3I6ICcjZmZmZmZmJyxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMTE5REZGJyxcclxuICAgICAgICBwYWRkaW5nOiAnOXB4IDE4cHgnLFxyXG4gICAgICAgIGJvcmRlclJhZGl1czogJzVweCcsXHJcbiAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcclxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAnY2FwaXRhbGl6ZScsXHJcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJzAuNXB4JyxcclxuICAgICAgICBsaW5lSGVpZ2h0OiAnMScsXHJcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXHJcbiAgICAgICAgb3V0bGluZTogJ25vbmUnLFxyXG4gICAgICAgIG1hcmdpbjogJzBweCcsXHJcbiAgICB9LFxyXG5cclxuICAgIGE6IHtcclxuICAgICAgICBjb2xvcjogJyMxMTlERkYnLFxyXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXHJcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcidcclxuICAgIH0sXHJcblxyXG4gICAgY2FwdGlvbjoge1xyXG4gICAgICAgIGZvbnRTaXplOiAnMTNweCcsXHJcbiAgICAgICAgbWFyZ2luVG9wOiAnMjBweCcsXHJcbiAgICAgICAgY29sb3I6ICcjQTJCMUM2JyxcclxuICAgIH0sXHJcblxyXG4gICAgY29udGFpbmVyOiB7XHJcbiAgICAgICAgbWFyZ2luTGVmdDogJ2F1dG8nLFxyXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnYXV0bycsXHJcbiAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgIG1heFdpZHRoOiAnMzAwcHgnLFxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBiYXNlO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/styles/styles.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\n * dash renderer is purposely style-free\n * Dash apps should be styled through\n * CSS style sheets on the app level,\n * in component-suites, or as inline styles\n * in the component layouts.\n *\n * The styles contained in dash-renderer are\n * just for a couple of interfaces:\n * - Loading messages\n * - Login screens\n *\n */\n\nvar base = exports.base = {\n html: {\n fontFamily: \"'Open Sans', Helvetica, sans-serif\",\n fontWeight: 400,\n color: '#2A3F5F'\n },\n\n h2: {\n fontFamily: 'Dosis, Helvetica, sans-serif',\n fontWeight: '600',\n fontSize: '28px',\n marginTop: '14px',\n marginBottom: '14px'\n },\n\n h4: {\n fontSize: '18px',\n marginTop: '9px',\n marginBottom: '18px'\n },\n\n button: {\n border: '1px solid #119DFF',\n fontSize: '14px',\n color: '#ffffff',\n backgroundColor: '#119DFF',\n padding: '9px 18px',\n borderRadius: '5px',\n textAlign: 'center',\n textTransform: 'capitalize',\n letterSpacing: '0.5px',\n lineHeight: '1',\n cursor: 'pointer',\n outline: 'none',\n margin: '0px'\n },\n\n a: {\n color: '#119DFF',\n textDecoration: 'none',\n cursor: 'pointer'\n },\n\n caption: {\n fontSize: '13px',\n marginTop: '20px',\n color: '#A2B1C6'\n },\n\n container: {\n marginLeft: 'auto',\n marginRight: 'auto',\n width: '90%',\n maxWidth: '300px'\n }\n};\n\nexports.default = base;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3N0eWxlcy9zdHlsZXMuanM/OWMzNCJdLCJuYW1lcyI6WyJiYXNlIiwiaHRtbCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY29sb3IiLCJoMiIsImZvbnRTaXplIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwiaDQiLCJidXR0b24iLCJib3JkZXIiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWRkaW5nIiwiYm9yZGVyUmFkaXVzIiwidGV4dEFsaWduIiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJsaW5lSGVpZ2h0IiwiY3Vyc29yIiwib3V0bGluZSIsIm1hcmdpbiIsImEiLCJ0ZXh0RGVjb3JhdGlvbiIsImNhcHRpb24iLCJjb250YWluZXIiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJ3aWR0aCIsIm1heFdpZHRoIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQWNPLElBQU1BLHNCQUFPO0FBQ2hCQyxVQUFNO0FBQ0ZDLG9CQUFZLG9DQURWO0FBRUZDLG9CQUFZLEdBRlY7QUFHRkMsZUFBTztBQUhMLEtBRFU7O0FBT2hCQyxRQUFJO0FBQ0FILG9CQUFZLDhCQURaO0FBRUFDLG9CQUFZLEtBRlo7QUFHQUcsa0JBQVUsTUFIVjtBQUlBQyxtQkFBVyxNQUpYO0FBS0FDLHNCQUFjO0FBTGQsS0FQWTs7QUFlaEJDLFFBQUk7QUFDQUgsa0JBQVUsTUFEVjtBQUVBQyxtQkFBVyxLQUZYO0FBR0FDLHNCQUFjO0FBSGQsS0FmWTs7QUFxQmhCRSxZQUFRO0FBQ0pDLGdCQUFRLG1CQURKO0FBRUpMLGtCQUFVLE1BRk47QUFHSkYsZUFBTyxTQUhIO0FBSUpRLHlCQUFpQixTQUpiO0FBS0pDLGlCQUFTLFVBTEw7QUFNSkMsc0JBQWMsS0FOVjtBQU9KQyxtQkFBVyxRQVBQO0FBUUpDLHVCQUFlLFlBUlg7QUFTSkMsdUJBQWUsT0FUWDtBQVVKQyxvQkFBWSxHQVZSO0FBV0pDLGdCQUFRLFNBWEo7QUFZSkMsaUJBQVMsTUFaTDtBQWFKQyxnQkFBUTtBQWJKLEtBckJROztBQXFDaEJDLE9BQUc7QUFDQ2xCLGVBQU8sU0FEUjtBQUVDbUIsd0JBQWdCLE1BRmpCO0FBR0NKLGdCQUFRO0FBSFQsS0FyQ2E7O0FBMkNoQkssYUFBUztBQUNMbEIsa0JBQVUsTUFETDtBQUVMQyxtQkFBVyxNQUZOO0FBR0xILGVBQU87QUFIRixLQTNDTzs7QUFpRGhCcUIsZUFBVztBQUNQQyxvQkFBWSxNQURMO0FBRVBDLHFCQUFhLE1BRk47QUFHUEMsZUFBTyxLQUhBO0FBSVBDLGtCQUFVO0FBSkg7QUFqREssQ0FBYjs7a0JBeURRN0IsSSIsImZpbGUiOiIuL3NyYy9zdHlsZXMvc3R5bGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIGRhc2ggcmVuZGVyZXIgaXMgcHVycG9zZWx5IHN0eWxlLWZyZWVcbiAqIERhc2ggYXBwcyBzaG91bGQgYmUgc3R5bGVkIHRocm91Z2hcbiAqIENTUyBzdHlsZSBzaGVldHMgb24gdGhlIGFwcCBsZXZlbCxcbiAqIGluIGNvbXBvbmVudC1zdWl0ZXMsIG9yIGFzIGlubGluZSBzdHlsZXNcbiAqIGluIHRoZSBjb21wb25lbnQgbGF5b3V0cy5cbiAqXG4gKiBUaGUgc3R5bGVzIGNvbnRhaW5lZCBpbiBkYXNoLXJlbmRlcmVyIGFyZVxuICoganVzdCBmb3IgYSBjb3VwbGUgb2YgaW50ZXJmYWNlczpcbiAqIC0gTG9hZGluZyBtZXNzYWdlc1xuICogLSBMb2dpbiBzY3JlZW5zXG4gKlxuICovXG5cbmV4cG9ydCBjb25zdCBiYXNlID0ge1xuICAgIGh0bWw6IHtcbiAgICAgICAgZm9udEZhbWlseTogXCInT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgY29sb3I6ICcjMkEzRjVGJyxcbiAgICB9LFxuXG4gICAgaDI6IHtcbiAgICAgICAgZm9udEZhbWlseTogJ0Rvc2lzLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLFxuICAgICAgICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgICAgICAgZm9udFNpemU6ICcyOHB4JyxcbiAgICAgICAgbWFyZ2luVG9wOiAnMTRweCcsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogJzE0cHgnLFxuICAgIH0sXG5cbiAgICBoNDoge1xuICAgICAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgICAgICBtYXJnaW5Ub3A6ICc5cHgnLFxuICAgICAgICBtYXJnaW5Cb3R0b206ICcxOHB4JyxcbiAgICB9LFxuXG4gICAgYnV0dG9uOiB7XG4gICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMTE5REZGJyxcbiAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgY29sb3I6ICcjZmZmZmZmJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzExOURGRicsXG4gICAgICAgIHBhZGRpbmc6ICc5cHggMThweCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzVweCcsXG4gICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgIHRleHRUcmFuc2Zvcm06ICdjYXBpdGFsaXplJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJzAuNXB4JyxcbiAgICAgICAgbGluZUhlaWdodDogJzEnLFxuICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICBtYXJnaW46ICcwcHgnLFxuICAgIH0sXG5cbiAgICBhOiB7XG4gICAgICAgIGNvbG9yOiAnIzExOURGRicsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIH0sXG5cbiAgICBjYXB0aW9uOiB7XG4gICAgICAgIGZvbnRTaXplOiAnMTNweCcsXG4gICAgICAgIG1hcmdpblRvcDogJzIwcHgnLFxuICAgICAgICBjb2xvcjogJyNBMkIxQzYnLFxuICAgIH0sXG5cbiAgICBjb250YWluZXI6IHtcbiAgICAgICAgbWFyZ2luTGVmdDogJ2F1dG8nLFxuICAgICAgICBtYXJnaW5SaWdodDogJ2F1dG8nLFxuICAgICAgICB3aWR0aDogJzkwJScsXG4gICAgICAgIG1heFdpZHRoOiAnMzAwcHgnLFxuICAgIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBiYXNlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/styles/styles.js\n"); /***/ }), @@ -5534,7 +5498,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.urlBase = urlBase;\nexports.uid = uid;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\nvar has = _ramda.has;\nvar type = _ramda.type;\n\n\n/*\r\n * requests_pathname_prefix is the new config parameter introduced in\r\n * dash==0.18.0. The previous versions just had url_base_pathname\r\n */\nfunction urlBase(config) {\n if (type(config) === \"Null\" || type(config) === \"Object\" && !has('url_base_pathname', config) && !has('requests_pathname_prefix', config)) {\n throw new Error(\"\\n Trying to make an API request but \\\"url_base_pathname\\\" and\\n \\\"requests_pathname_prefix\\\"\\n is not in `config`. `config` is: \", config);\n } else if (has('url_base_pathname', config) && !has('requests_pathname_prefix', config)) {\n return config.url_base_pathname;\n } else if (has('requests_pathname_prefix', config)) {\n return config.requests_pathname_prefix;\n } else {\n throw new Error(\"Unhandled case trying to get url_base_pathname or\\n requests_pathname_prefix from config\", config);\n }\n}\n\nfunction uid() {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\n }\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3V0aWxzLmpzPzAyNWUiXSwibmFtZXMiOlsidXJsQmFzZSIsInVpZCIsImhhcyIsInR5cGUiLCJjb25maWciLCJFcnJvciIsInVybF9iYXNlX3BhdGhuYW1lIiwicmVxdWVzdHNfcGF0aG5hbWVfcHJlZml4IiwiczQiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJ0b1N0cmluZyIsInN1YnN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7UUFPZ0JBLE8sR0FBQUEsTztRQXFCQUMsRyxHQUFBQSxHOztBQTVCaEI7O0lBQVFDLEcsVUFBQUEsRztJQUFLQyxJLFVBQUFBLEk7OztBQUdiOzs7O0FBSU8sU0FBU0gsT0FBVCxDQUFpQkksTUFBakIsRUFBeUI7QUFDNUIsUUFBSUQsS0FBS0MsTUFBTCxNQUFpQixNQUFqQixJQUNDRCxLQUFLQyxNQUFMLE1BQWlCLFFBQWxCLElBQ0EsQ0FBQ0YsSUFBSSxtQkFBSixFQUF5QkUsTUFBekIsQ0FERCxJQUVBLENBQUNGLElBQUksMEJBQUosRUFBZ0NFLE1BQWhDLENBSEwsRUFHOEM7QUFDMUMsY0FBTSxJQUFJQyxLQUFKLHVLQUdzQ0QsTUFIdEMsQ0FBTjtBQUlILEtBUkQsTUFRTyxJQUFJRixJQUFJLG1CQUFKLEVBQXlCRSxNQUF6QixLQUNQLENBQUNGLElBQUksMEJBQUosRUFBZ0NFLE1BQWhDLENBREUsRUFDdUM7QUFDMUMsZUFBT0EsT0FBT0UsaUJBQWQ7QUFDSCxLQUhNLE1BR0EsSUFBSUosSUFBSSwwQkFBSixFQUFnQ0UsTUFBaEMsQ0FBSixFQUE2QztBQUNoRCxlQUFPQSxPQUFPRyx3QkFBZDtBQUNILEtBRk0sTUFFQTtBQUNILGNBQU0sSUFBSUYsS0FBSix5R0FFc0NELE1BRnRDLENBQU47QUFHSDtBQUNKOztBQUVNLFNBQVNILEdBQVQsR0FBZTtBQUNwQixhQUFTTyxFQUFULEdBQWM7QUFDWixlQUFPQyxLQUFLQyxLQUFMLENBQVcsQ0FBQyxJQUFJRCxLQUFLRSxNQUFMLEVBQUwsSUFBc0IsT0FBakMsRUFDSkMsUUFESSxDQUNLLEVBREwsRUFFSkMsU0FGSSxDQUVNLENBRk4sQ0FBUDtBQUdEO0FBQ0QsV0FBT0wsT0FBT0EsSUFBUCxHQUFjLEdBQWQsR0FBb0JBLElBQXBCLEdBQTJCLEdBQTNCLEdBQWlDQSxJQUFqQyxHQUF3QyxHQUF4QyxHQUNMQSxJQURLLEdBQ0UsR0FERixHQUNRQSxJQURSLEdBQ2VBLElBRGYsR0FDc0JBLElBRDdCO0FBRUQiLCJmaWxlIjoiLi9zcmMvdXRpbHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2hhcywgdHlwZX0gZnJvbSAncmFtZGEnO1xyXG5cclxuXHJcbi8qXHJcbiAqIHJlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeCBpcyB0aGUgbmV3IGNvbmZpZyBwYXJhbWV0ZXIgaW50cm9kdWNlZCBpblxyXG4gKiBkYXNoPT0wLjE4LjAuIFRoZSBwcmV2aW91cyB2ZXJzaW9ucyBqdXN0IGhhZCB1cmxfYmFzZV9wYXRobmFtZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVybEJhc2UoY29uZmlnKSB7XHJcbiAgICBpZiAodHlwZShjb25maWcpID09PSBcIk51bGxcIiB8fFxyXG4gICAgICAgICh0eXBlKGNvbmZpZykgPT09IFwiT2JqZWN0XCIpICYmXHJcbiAgICAgICAgIWhhcygndXJsX2Jhc2VfcGF0aG5hbWUnLCBjb25maWcpICYmXHJcbiAgICAgICAgIWhhcygncmVxdWVzdHNfcGF0aG5hbWVfcHJlZml4JywgY29uZmlnKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXHJcbiAgICAgICAgICAgIFRyeWluZyB0byBtYWtlIGFuIEFQSSByZXF1ZXN0IGJ1dCBcInVybF9iYXNlX3BhdGhuYW1lXCIgYW5kXHJcbiAgICAgICAgICAgIFwicmVxdWVzdHNfcGF0aG5hbWVfcHJlZml4XCJcclxuICAgICAgICAgICAgaXMgbm90IGluIFxcYGNvbmZpZ1xcYC4gXFxgY29uZmlnXFxgIGlzOiBgLCBjb25maWcpO1xyXG4gICAgfSBlbHNlIGlmIChoYXMoJ3VybF9iYXNlX3BhdGhuYW1lJywgY29uZmlnKSAmJlxyXG4gICAgICAgICFoYXMoJ3JlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeCcsIGNvbmZpZykpIHtcclxuICAgICAgICByZXR1cm4gY29uZmlnLnVybF9iYXNlX3BhdGhuYW1lO1xyXG4gICAgfSBlbHNlIGlmIChoYXMoJ3JlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeCcsIGNvbmZpZykpIHtcclxuICAgICAgICByZXR1cm4gY29uZmlnLnJlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgVW5oYW5kbGVkIGNhc2UgdHJ5aW5nIHRvIGdldCB1cmxfYmFzZV9wYXRobmFtZSBvclxyXG4gICAgICAgICAgICAgcmVxdWVzdHNfcGF0aG5hbWVfcHJlZml4IGZyb20gY29uZmlnYCwgY29uZmlnKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVpZCgpIHtcclxuICBmdW5jdGlvbiBzNCgpIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKVxyXG4gICAgICAudG9TdHJpbmcoMTYpXHJcbiAgICAgIC5zdWJzdHJpbmcoMSk7XHJcbiAgfVxyXG4gIHJldHVybiBzNCgpICsgczQoKSArICctJyArIHM0KCkgKyAnLScgKyBzNCgpICsgJy0nICtcclxuICAgIHM0KCkgKyAnLScgKyBzNCgpICsgczQoKSArIHM0KCk7XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/utils.js\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.urlBase = urlBase;\nexports.uid = uid;\n\nvar _ramda = __webpack_require__(/*! ramda */ \"./node_modules/ramda/index.js\");\n\n/*\n * requests_pathname_prefix is the new config parameter introduced in\n * dash==0.18.0. The previous versions just had url_base_pathname\n */\nfunction urlBase(config) {\n if ((0, _ramda.type)(config) === 'Null' || (0, _ramda.type)(config) === 'Object' && !(0, _ramda.has)('url_base_pathname', config) && !(0, _ramda.has)('requests_pathname_prefix', config)) {\n throw new Error('\\n Trying to make an API request but \"url_base_pathname\" and\\n \"requests_pathname_prefix\"\\n is not in `config`. `config` is: ', config);\n } else if ((0, _ramda.has)('url_base_pathname', config) && !(0, _ramda.has)('requests_pathname_prefix', config)) {\n return config.url_base_pathname;\n } else if ((0, _ramda.has)('requests_pathname_prefix', config)) {\n return config.requests_pathname_prefix;\n } else {\n throw new Error('Unhandled case trying to get url_base_pathname or\\n requests_pathname_prefix from config', config);\n }\n}\n\nfunction uid() {\n function s4() {\n var h = 0x10000;\n return Math.floor((1 + Math.random()) * h).toString(16).substring(1);\n }\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX3JlbmRlcmVyLy4vc3JjL3V0aWxzLmpzPzAyNWUiXSwibmFtZXMiOlsidXJsQmFzZSIsInVpZCIsImNvbmZpZyIsIkVycm9yIiwidXJsX2Jhc2VfcGF0aG5hbWUiLCJyZXF1ZXN0c19wYXRobmFtZV9wcmVmaXgiLCJzNCIsImgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJ0b1N0cmluZyIsInN1YnN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7UUFNZ0JBLE8sR0FBQUEsTztRQThCQUMsRyxHQUFBQSxHOztBQXBDaEI7O0FBRUE7Ozs7QUFJTyxTQUFTRCxPQUFULENBQWlCRSxNQUFqQixFQUF5QjtBQUM1QixRQUNJLGlCQUFLQSxNQUFMLE1BQWlCLE1BQWpCLElBQ0MsaUJBQUtBLE1BQUwsTUFBaUIsUUFBakIsSUFDRyxDQUFDLGdCQUFJLG1CQUFKLEVBQXlCQSxNQUF6QixDQURKLElBRUcsQ0FBQyxnQkFBSSwwQkFBSixFQUFnQ0EsTUFBaEMsQ0FKVCxFQUtFO0FBQ0UsY0FBTSxJQUFJQyxLQUFKLG1LQUtGRCxNQUxFLENBQU47QUFPSCxLQWJELE1BYU8sSUFDSCxnQkFBSSxtQkFBSixFQUF5QkEsTUFBekIsS0FDQSxDQUFDLGdCQUFJLDBCQUFKLEVBQWdDQSxNQUFoQyxDQUZFLEVBR0w7QUFDRSxlQUFPQSxPQUFPRSxpQkFBZDtBQUNILEtBTE0sTUFLQSxJQUFJLGdCQUFJLDBCQUFKLEVBQWdDRixNQUFoQyxDQUFKLEVBQTZDO0FBQ2hELGVBQU9BLE9BQU9HLHdCQUFkO0FBQ0gsS0FGTSxNQUVBO0FBQ0gsY0FBTSxJQUFJRixLQUFKLHlHQUdGRCxNQUhFLENBQU47QUFLSDtBQUNKOztBQUVNLFNBQVNELEdBQVQsR0FBZTtBQUNsQixhQUFTSyxFQUFULEdBQWM7QUFDVixZQUFNQyxJQUFJLE9BQVY7QUFDQSxlQUFPQyxLQUFLQyxLQUFMLENBQVcsQ0FBQyxJQUFJRCxLQUFLRSxNQUFMLEVBQUwsSUFBc0JILENBQWpDLEVBQ0ZJLFFBREUsQ0FDTyxFQURQLEVBRUZDLFNBRkUsQ0FFUSxDQUZSLENBQVA7QUFHSDtBQUNELFdBQ0lOLE9BQ0FBLElBREEsR0FFQSxHQUZBLEdBR0FBLElBSEEsR0FJQSxHQUpBLEdBS0FBLElBTEEsR0FNQSxHQU5BLEdBT0FBLElBUEEsR0FRQSxHQVJBLEdBU0FBLElBVEEsR0FVQUEsSUFWQSxHQVdBQSxJQVpKO0FBY0giLCJmaWxlIjoiLi9zcmMvdXRpbHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2hhcywgdHlwZX0gZnJvbSAncmFtZGEnO1xuXG4vKlxuICogcmVxdWVzdHNfcGF0aG5hbWVfcHJlZml4IGlzIHRoZSBuZXcgY29uZmlnIHBhcmFtZXRlciBpbnRyb2R1Y2VkIGluXG4gKiBkYXNoPT0wLjE4LjAuIFRoZSBwcmV2aW91cyB2ZXJzaW9ucyBqdXN0IGhhZCB1cmxfYmFzZV9wYXRobmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXJsQmFzZShjb25maWcpIHtcbiAgICBpZiAoXG4gICAgICAgIHR5cGUoY29uZmlnKSA9PT0gJ051bGwnIHx8XG4gICAgICAgICh0eXBlKGNvbmZpZykgPT09ICdPYmplY3QnICYmXG4gICAgICAgICAgICAhaGFzKCd1cmxfYmFzZV9wYXRobmFtZScsIGNvbmZpZykgJiZcbiAgICAgICAgICAgICFoYXMoJ3JlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeCcsIGNvbmZpZykpXG4gICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBcbiAgICAgICAgICAgIFRyeWluZyB0byBtYWtlIGFuIEFQSSByZXF1ZXN0IGJ1dCBcInVybF9iYXNlX3BhdGhuYW1lXCIgYW5kXG4gICAgICAgICAgICBcInJlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeFwiXG4gICAgICAgICAgICBpcyBub3QgaW4gXFxgY29uZmlnXFxgLiBcXGBjb25maWdcXGAgaXM6IGAsXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgICBoYXMoJ3VybF9iYXNlX3BhdGhuYW1lJywgY29uZmlnKSAmJlxuICAgICAgICAhaGFzKCdyZXF1ZXN0c19wYXRobmFtZV9wcmVmaXgnLCBjb25maWcpXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBjb25maWcudXJsX2Jhc2VfcGF0aG5hbWU7XG4gICAgfSBlbHNlIGlmIChoYXMoJ3JlcXVlc3RzX3BhdGhuYW1lX3ByZWZpeCcsIGNvbmZpZykpIHtcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5yZXF1ZXN0c19wYXRobmFtZV9wcmVmaXg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFVuaGFuZGxlZCBjYXNlIHRyeWluZyB0byBnZXQgdXJsX2Jhc2VfcGF0aG5hbWUgb3JcbiAgICAgICAgICAgICByZXF1ZXN0c19wYXRobmFtZV9wcmVmaXggZnJvbSBjb25maWdgLFxuICAgICAgICAgICAgY29uZmlnXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdWlkKCkge1xuICAgIGZ1bmN0aW9uIHM0KCkge1xuICAgICAgICBjb25zdCBoID0gMHgxMDAwMDtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIGgpXG4gICAgICAgICAgICAudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICAuc3Vic3RyaW5nKDEpO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgICBzNCgpICtcbiAgICAgICAgczQoKSArXG4gICAgICAgICctJyArXG4gICAgICAgIHM0KCkgK1xuICAgICAgICAnLScgK1xuICAgICAgICBzNCgpICtcbiAgICAgICAgJy0nICtcbiAgICAgICAgczQoKSArXG4gICAgICAgICctJyArXG4gICAgICAgIHM0KCkgK1xuICAgICAgICBzNCgpICtcbiAgICAgICAgczQoKVxuICAgICk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/utils.js\n"); /***/ }), diff --git a/dash_renderer/dash_renderer.min.js b/dash_renderer/dash_renderer.min.js index ccd26f6..9795107 100644 --- a/dash_renderer/dash_renderer.min.js +++ b/dash_renderer/dash_renderer.min.js @@ -1,4 +1,4 @@ -window.dash_renderer=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=173)}([function(e,t,n){var r=n(1),o=n(36);e.exports=function(e){return function t(n,i){switch(arguments.length){case 0:return t;case 1:return o(n)?t:r(function(t){return e(n,t)});default:return o(n)&&o(i)?t:o(n)?r(function(t){return e(t,i)}):o(i)?r(function(t){return e(n,t)}):e(n,i)}}}},function(e,t,n){var r=n(36);e.exports=function(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}},function(e,t,n){var r=n(1),o=n(0),i=n(36);e.exports=function(e){return function t(n,a,u){switch(arguments.length){case 0:return t;case 1:return i(n)?t:o(function(t,r){return e(n,t,r)});case 2:return i(n)&&i(a)?t:i(n)?o(function(t,n){return e(t,a,n)}):i(a)?o(function(t,r){return e(n,t,r)}):r(function(t){return e(n,a,t)});default:return i(n)&&i(a)&&i(u)?t:i(n)&&i(a)?o(function(t,n){return e(t,n,u)}):i(n)&&i(u)?o(function(t,n){return e(t,a,n)}):i(a)&&i(u)?o(function(t,r){return e(n,t,r)}):i(n)?r(function(t){return e(t,a,u)}):i(a)?r(function(t){return e(n,t,u)}):i(u)?r(function(t){return e(n,a,t)}):e(n,a,u)}}}},function(e,t){e.exports=window.React},function(e,t,n){e.exports=n(177)()},function(e,t,n){var r=n(19),o=n(54);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var i=Array.prototype.slice.call(arguments,0),a=i.pop();if(!r(a)){for(var u=0;u=0;)o(u=t[s],r)&&!a(c,u)&&(c[c.length]=u),s-=1;return c}):r(function(e){return Object(e)!==e?[]:Object.keys(e)})}()},function(e,t,n){var r=n(2),o=n(11);e.exports=r(o)},function(e,t,n){var r=n(0),o=n(230);e.exports=r(function(e,t){return o(e,t,[],[])})},function(e,t,n){"use strict";t.__esModule=!0,t.connect=t.Provider=void 0;var r=i(n(176)),o=i(n(181));function i(e){return e&&e.__esModule?e:{default:e}}t.Provider=r.default,t.connect=o.default},function(e,t){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){e.exports=function(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}},function(e,t,n){var r=n(30),o=n(2);e.exports=o(r("slice",function(e,t,n){return Array.prototype.slice.call(n,e,t)}))},function(e,t,n){var r=n(95);e.exports=function(e,t){return r(t,e,0)>=0}},function(e,t,n){var r=n(1);e.exports=r(function(e){return function(){return e}})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return t>e?t:e})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&r.test(e)};var r=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return g}),n.d(t,"b",function(){return b});var r=n(145),o=n.n(r),i=n(146),a=n.n(i),u=n(52),s=n.n(u),c=n(147),f=n(160),l=n(53),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=o()(c.a),h=a()(f.a,d);var y=void 0,v=void 0;function m(t){var n=t||e&&e.navigator&&e.navigator.userAgent;return v&&n===y||(v="all"===n?{prefix:d,prefixedKeyframes:"keyframes"}:new h({userAgent:n}),y=n),v}function g(e){return m(e).prefixedKeyframes}function b(e,t){var n=function(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return Array.isArray(r)?r=r.join(";"+n+":"):r&&"object"===(void 0===r?"undefined":p(r))&&"function"==typeof r.toString&&(r=r.toString()),t[n]=r,t},{})}(e);return function(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return Array.isArray(r)&&(r=s.a.canUseDOM?r[r.length-1].toString():r.join(";"+Object(l.a)(n)+":")),t[n]=r,t},{})}(m(t).prefix(n))}}).call(this,n(27))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(0),o=n(10),i=n(55);e.exports=r(function(e,t){return o(i(e),t)})},function(e,t,n){var r=n(1),o=n(19),i=n(40);e.exports=r(function(e){return!!o(e)||!!e&&("object"==typeof e&&(!i(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))})},function(e,t,n){var r=n(19);e.exports=function(e,t){return function(){var n=arguments.length;if(0===n)return t();var o=arguments[n-1];return r(o)||"function"!=typeof o[e]?t.apply(this,arguments):o[e].apply(o,Array.prototype.slice.call(arguments,0,n-1))}}},function(e,t,n){var r=n(1),o=n(229);e.exports=r(function(e){return o(e,[])})},function(e,t,n){var r=n(0),o=n(40);e.exports=r(function(e,t){var n=e<0?t.length+e:e;return o(t)?t.charAt(n):t[n]})},function(e,t,n){var r=n(0),o=n(43),i=n(8),a=n(31);e.exports=r(function(e,t){return i(e+1,function(){var n=arguments[e];if(null!=n&&o(n[t]))return n[t].apply(n,Array.prototype.slice.call(arguments,0,e));throw new TypeError(a(n)+' does not have a method named "'+t+'"')})})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){for(var n=t,r=0;r=arguments.length)?f=n[c]:(f=arguments[u],u+=1),a[c]=f,o(f)||(s-=1),c+=1}return s<=0?i.apply(this,a):r(s,e(t,a,i))}}},function(e,t){e.exports=function(e,t){for(var n=0,r=t.length,o=Array(r);n0&&0===n.dependantsOf(e).length&&y(r,t().paths)&&i.push(e)}),z(i,n).forEach(function(n){var o=n.input.split("."),i=r(o,2),a=i[0],u=i[1],s=b(c(t().paths[a],["props",u])),f=P(s,t().layout);e(G({id:a,props:F({},u,f),excludedOutputs:n.excludedOutputs}))})}(e,t),e(L(T("HYDRATED")))}},t.redo=function(){return function(e,t){var n=t().history;e(E("REDO")());var r=n.future[0];e(E("REDO_PROP_CHANGE")({itempath:t().paths[r.id],props:r.props})),e(G({id:r.id,props:r.props}))}},t.undo=function(){return function(e,t){var n=t().history;e(E("UNDO")());var r=n.past[n.past.length-1];e(E("UNDO_PROP_CHANGE")({itempath:t().paths[r.id],props:r.props})),e(G({id:r.id,props:r.props}))}},t.notifyObservers=G,t.serialize=function(e){var t=e.graphs,n=e.paths,o=e.layout,i=t.InputGraph,a=i.nodes,u={};return g(a).forEach(function(e){var t=e.split("."),a=r(t,2),s=a[0],f=a[1];if(i.dependenciesOf(e).length>0&&y(s,n)){var l=b(c(n[s],["props",f])),p=P(l,o);u[e]=p}}),u};var o=n(7),i=o.__,a=o.adjust,u=o.any,s=o.append,c=o.concat,f=o.contains,l=o.findIndex,p=o.findLastIndex,d=o.flatten,h=o.flip,y=o.has,v=o.intersection,m=o.isEmpty,g=o.keys,b=o.lensPath,x=o.merge,w=o.pluck,_=o.propEq,O=o.reject,S=o.slice,k=o.sort,j=o.type,P=o.view,E=n(414).createAction,C=n(133),A=C.crawlLayout,M=C.hasId,T=n(69).APP_STATES,R=n(35).ACTIONS,N=function(e){return e&&e.__esModule?e:{default:e}}(n(136)).default,D=n(137),I=D.uid,B=D.urlBase;function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var W=t.updateProps=E(R("ON_PROP_CHANGE")),q=t.setRequestQueue=E(R("SET_REQUEST_QUEUE")),U=(t.computeGraphs=E(R("COMPUTE_GRAPHS")),t.computePaths=E(R("COMPUTE_PATHS"))),L=(t.setLayout=E(R("SET_LAYOUT")),t.setAppLifecycle=E(R("SET_APP_LIFECYCLE")));t.readConfig=E(R("READ_CONFIG"));function z(e,t){var n=e.map(function(e){return{input:e,outputs:t.dependenciesOf(e),excludedOutputs:[]}}),r=k(function(e,t){return t.outputs.length-e.outputs.length},n);return r.forEach(function(e,t){var n=d(w("outputs",S(0,t,r)));e.outputs.forEach(function(t){f(t,n)&&e.excludedOutputs.push(t)})}),r}function G(e){return function(t,n){var o=e.id,i=e.event,a=e.props,s=e.excludedOutputs,l=n(),p=l.graphs,d=l.requestQueue,b=p.EventGraph,x=p.InputGraph,w=void 0;if(i)w=b.dependenciesOf(o+"."+i);else{var _=g(a);w=[],_.forEach(function(e){var t=o+"."+e;x.hasNode(t)&&x.dependenciesOf(t).forEach(function(e){f(e,w)||w.push(e)})})}if(s&&(w=O(h(f)(s),w)),!m(w)){var S=x.overallOrder(),j=[];(w=k(function(e,t){return S.indexOf(t)-S.indexOf(e)},w)).forEach(function(e){var t=e.split(".")[0],r=x.hasNode(e)?x.dependantsOf(e):[],o=v(j,r),i=u(function(e){return f(e.controllerId,r)&&"loading"===e.status},d);0===o.length&&y(t,n().paths)&&!i&&j.push(e)});var P=j.map(function(e){return{controllerId:e,status:"loading",uid:I(),requestTime:Date.now()}});t(q(c(d,P)));for(var E=[],C=0;C0&&(T.inputs=D.map(function(e){if(!f(e.id,V))throw ReferenceError("An invalid input object was used in an `Input` of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+V.join(", ")+"]`");var t=b(c(S[e.id],["props",e.property]));return{id:e.id,property:e.property,value:P(t,w)}})),L.length>0&&(T.state=L.map(function(e){if(!f(e.id,V))throw ReferenceError("An invalid input object was used in a `State` object of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+V.join(", ")+"]`");var t=b(c(S[e.id],["props",e.property]));return{id:e.id,property:e.property,value:P(t,w)}})),fetch(B(h)+"_dash-update-component",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":N.parse(document.cookie)._csrf_token},credentials:"same-origin",body:JSON.stringify(T)}).then(function(n){var d=function(){var e=r().requestQueue;return l(_("uid",o),e)},h=function(e){var t=r().requestQueue,o=d();if(-1!==o){var s=a(x(i,{status:n.status,responseTime:Date.now(),rejected:e}),o,t),c=t[o].controllerId,f=s.filter(function(e,t){return e.controllerId!==c||t>=o});u(q(f))}},b=function(){return p(_("controllerId",e+"."+t),r().requestQueue)>d()};if(200===n.status){if(!b())return n.json().then(function(t){if(b())h(!0);else if(h(!1),y(e,r().paths)){var n={itempath:r().paths[e],props:t.response.props,source:"response"};if(u(W(n)),u(G({id:e,props:t.response.props})),y("children",n.props)&&(u(U({subTree:n.props.children,startingPath:c(r().paths[e],["props","children"])})),f(j(n.props.children),["Array","Object"])&&!m(n.props.children))){var o={};A(n.props.children,function(e){M(e)&&g(e.props).forEach(function(t){var n=e.props.id+"."+t;y(n,C.nodes)&&(o[n]={id:e.props.id,props:F({},t,e.props[t])})})});var i=[];g(o).forEach(function(e){0===C.dependenciesOf(e).length&&0==v(C.dependantsOf(e),g(o)).length&&(i.push(e),delete o[e])});var a=z(g(o),C),l=C.overallOrder();k(function(e,t){return l.indexOf(e.input)-l.indexOf(t.input)},a).forEach(function(e){var t=o[e.input];t.excludedOutputs=e.excludedOutputs,u(G(t))}),i.forEach(function(e){var t=I();u(q(s({controllerId:null,status:"loading",uid:t,requestTime:Date.now()},r().requestQueue))),K(e.split(".")[0],e.split(".")[1],null,r,t,u)})}}});h(!0)}else h(!0)})}},function(e,t,n){var r; +window.dash_renderer=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=174)}([function(e,t,r){var n=r(1),o=r(36);e.exports=function(e){return function t(r,i){switch(arguments.length){case 0:return t;case 1:return o(r)?t:n(function(t){return e(r,t)});default:return o(r)&&o(i)?t:o(r)?n(function(t){return e(t,i)}):o(i)?n(function(t){return e(r,t)}):e(r,i)}}}},function(e,t,r){var n=r(36);e.exports=function(e){return function t(r){return 0===arguments.length||n(r)?t:e.apply(this,arguments)}}},function(e,t,r){var n=r(1),o=r(0),i=r(36);e.exports=function(e){return function t(r,a,u){switch(arguments.length){case 0:return t;case 1:return i(r)?t:o(function(t,n){return e(r,t,n)});case 2:return i(r)&&i(a)?t:i(r)?o(function(t,r){return e(t,a,r)}):i(a)?o(function(t,n){return e(r,t,n)}):n(function(t){return e(r,a,t)});default:return i(r)&&i(a)&&i(u)?t:i(r)&&i(a)?o(function(t,r){return e(t,r,u)}):i(r)&&i(u)?o(function(t,r){return e(t,a,r)}):i(a)&&i(u)?o(function(t,n){return e(r,t,n)}):i(r)?n(function(t){return e(t,a,u)}):i(a)?n(function(t){return e(r,t,u)}):i(u)?n(function(t){return e(r,a,t)}):e(r,a,u)}}}},function(e,t){e.exports=window.React},function(e,t,r){e.exports=r(180)()},function(e,t,r){var n=r(19),o=r(54);e.exports=function(e,t,r){return function(){if(0===arguments.length)return r();var i=Array.prototype.slice.call(arguments,0),a=i.pop();if(!n(a)){for(var u=0;u=0;)o(u=t[s],n)&&!a(c,u)&&(c[c.length]=u),s-=1;return c}):n(function(e){return Object(e)!==e?[]:Object.keys(e)})}()},function(e,t,r){var n=r(2),o=r(11);e.exports=n(o)},function(e,t,r){var n=r(0),o=r(231);e.exports=n(function(e,t){return o(e,t,[],[])})},function(e,t,r){"use strict";t.__esModule=!0,t.connect=t.Provider=void 0;var n=i(r(179)),o=i(r(182));function i(e){return e&&e.__esModule?e:{default:e}}t.Provider=n.default,t.connect=o.default},function(e,t){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},function(e,t){e.exports=function(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}},function(e,t,r){var n=r(30),o=r(2);e.exports=o(n("slice",function(e,t,r){return Array.prototype.slice.call(r,e,t)}))},function(e,t,r){var n=r(96);e.exports=function(e,t){return n(t,e,0)>=0}},function(e,t,r){var n=r(1);e.exports=n(function(e){return function(){return e}})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return t>e?t:e})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&n.test(e)};var n=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,r){"use strict";(function(e){r.d(t,"a",function(){return g}),r.d(t,"b",function(){return b});var n=r(146),o=r.n(n),i=r(147),a=r.n(i),u=r(52),s=r.n(u),c=r(148),f=r(161),l=r(53),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=o()(c.a),h=a()(f.a,d);var y=void 0,v=void 0;function m(t){var r=t||e&&e.navigator&&e.navigator.userAgent;return v&&r===y||(v="all"===r?{prefix:d,prefixedKeyframes:"keyframes"}:new h({userAgent:r}),y=r),v}function g(e){return m(e).prefixedKeyframes||"keyframes"}function b(e,t){var r=function(e){return Object.keys(e).reduce(function(t,r){var n=e[r];return Array.isArray(n)?n=n.join(";"+r+":"):n&&"object"===(void 0===n?"undefined":p(n))&&"function"==typeof n.toString&&(n=n.toString()),t[r]=n,t},{})}(e);return function(e){return Object.keys(e).reduce(function(t,r){var n=e[r];return Array.isArray(n)&&(n=s.a.canUseDOM?n[n.length-1].toString():n.join(";"+Object(l.a)(r)+":")),t[r]=n,t},{})}(m(t).prefix(r))}}).call(this,r(27))},function(e,t){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){var n=r(0),o=r(10),i=r(55);e.exports=n(function(e,t){return o(i(e),t)})},function(e,t,r){var n=r(1),o=r(19),i=r(40);e.exports=n(function(e){return!!o(e)||!!e&&("object"==typeof e&&(!i(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))})},function(e,t,r){var n=r(19);e.exports=function(e,t){return function(){var r=arguments.length;if(0===r)return t();var o=arguments[r-1];return n(o)||"function"!=typeof o[e]?t.apply(this,arguments):o[e].apply(o,Array.prototype.slice.call(arguments,0,r-1))}}},function(e,t,r){var n=r(1),o=r(230);e.exports=n(function(e){return o(e,[])})},function(e,t,r){var n=r(0),o=r(40);e.exports=n(function(e,t){var r=e<0?t.length+e:e;return o(t)?t.charAt(r):t[r]})},function(e,t,r){var n=r(0),o=r(43),i=r(8),a=r(31);e.exports=n(function(e,t){return i(e+1,function(){var r=arguments[e];if(null!=r&&o(r[t]))return r[t].apply(r,Array.prototype.slice.call(arguments,0,e));throw new TypeError(a(r)+' does not have a method named "'+t+'"')})})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){for(var r=t,n=0;n=arguments.length)?f=r[c]:(f=arguments[u],u+=1),a[c]=f,o(f)||(s-=1),c+=1}return s<=0?i.apply(this,a):n(s,e(t,a,i))}}},function(e,t){e.exports=function(e,t){for(var r=0,n=t.length,o=Array(n);r0&&0===r.dependantsOf(e).length&&(0,o.has)(n,t().paths)&&a.push(e)}),m(a,r).forEach(function(r){var i=r.input.split("."),a=n(i,2),u=a[0],s=a[1],c=(0,o.lensPath)((0,o.concat)(t().paths[u],["props",s])),f=(0,o.view)(c,t().layout);e(g({id:u,props:p({},s,f),excludedOutputs:r.excludedOutputs}))})}(e,t),e(v((0,u.getAppState)("HYDRATED")))}},t.redo=function(){return function(e,t){var r=t().history;e((0,i.createAction)("REDO")());var n=r.future[0];e((0,i.createAction)("REDO_PROP_CHANGE")({itempath:t().paths[n.id],props:n.props})),e(g({id:n.id,props:n.props}))}},t.undo=function(){return function(e,t){var r=t().history;e((0,i.createAction)("UNDO")());var n=r.past[r.past.length-1];e((0,i.createAction)("UNDO_PROP_CHANGE")({itempath:t().paths[n.id],props:n.props})),e(g({id:n.id,props:n.props}))}},t.notifyObservers=g,t.serialize=function(e){var t=e.graphs,r=e.paths,i=e.layout,a=t.InputGraph,u=a.nodes,s={};return(0,o.keys)(u).forEach(function(e){var t=e.split("."),u=n(t,2),c=u[0],f=u[1];if(a.dependenciesOf(e).length>0&&(0,o.has)(c,r)){var l=(0,o.lensPath)((0,o.concat)(r[c],["props",f])),p=(0,o.view)(l,i);s[e]=p}}),s};var o=r(7),i=r(415),a=r(134),u=r(69),s=r(35),c=function(e){return e&&e.__esModule?e:{default:e}}(r(137)),f=r(138),l=r(70);function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=t.updateProps=(0,i.createAction)((0,s.getAction)("ON_PROP_CHANGE")),h=t.setRequestQueue=(0,i.createAction)((0,s.getAction)("SET_REQUEST_QUEUE")),y=(t.computeGraphs=(0,i.createAction)((0,s.getAction)("COMPUTE_GRAPHS")),t.computePaths=(0,i.createAction)((0,s.getAction)("COMPUTE_PATHS"))),v=(t.setLayout=(0,i.createAction)((0,s.getAction)("SET_LAYOUT")),t.setAppLifecycle=(0,i.createAction)((0,s.getAction)("SET_APP_LIFECYCLE")));t.readConfig=(0,i.createAction)((0,s.getAction)("READ_CONFIG"));function m(e,t){var r=e.map(function(e){return{input:e,outputs:t.dependenciesOf(e),excludedOutputs:[]}}),n=(0,o.sort)(function(e,t){return t.outputs.length-e.outputs.length},r);return n.forEach(function(e,t){var r=(0,o.flatten)((0,o.pluck)("outputs",(0,o.slice)(0,t,n)));e.outputs.forEach(function(t){(0,o.contains)(t,r)&&e.excludedOutputs.push(t)})}),n}function g(e){return function(t,r){var i=e.id,a=e.event,u=e.props,s=e.excludedOutputs,c=r(),l=c.graphs,p=c.requestQueue,d=l.EventGraph,y=l.InputGraph,v=void 0;if(a)v=d.dependenciesOf(i+"."+a);else{var m=(0,o.keys)(u);v=[],m.forEach(function(e){var t=i+"."+e;y.hasNode(t)&&y.dependenciesOf(t).forEach(function(e){(0,o.contains)(e,v)||v.push(e)})})}if(s&&(v=(0,o.reject)((0,o.flip)(o.contains)(s),v)),!(0,o.isEmpty)(v)){var g=y.overallOrder(),x=[];(v=(0,o.sort)(function(e,t){return g.indexOf(t)-g.indexOf(e)},v)).forEach(function(e){var t=e.split(".")[0],n=y.hasNode(e)?y.dependantsOf(e):[],i=(0,o.intersection)(x,n),a=(0,o.any)(function(e){return(0,o.contains)(e.controllerId,n)&&"loading"===e.status},p);0===i.length&&(0,o.has)(t,r().paths)&&!a&&x.push(e)});var w=x.map(function(e){return{controllerId:e,status:"loading",uid:(0,f.uid)(),requestTime:Date.now()}});t(h((0,o.concat)(p,w)));for(var _=[],O=0;O0&&(k.inputs=j.map(function(e){if(!(0,o.contains)(e.id,A))throw new ReferenceError("An invalid input object was used in an `Input` of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+A.join(", ")+"]`");var t=(0,o.lensPath)((0,o.concat)(_[e.id],["props",e.property]));return{id:e.id,property:e.property,value:(0,o.view)(t,x)}})),E.length>0&&(k.state=E.map(function(e){if(!(0,o.contains)(e.id,A))throw new ReferenceError("An invalid input object was used in a `State` object of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+A.join(", ")+"]`");var t=(0,o.lensPath)((0,o.concat)(_[e.id],["props",e.property]));return{id:e.id,property:e.property,value:(0,o.view)(t,x)}})),fetch((0,f.urlBase)(v)+"_dash-update-component",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":c.default.parse(document.cookie)._csrf_token},credentials:"same-origin",body:JSON.stringify(k)}).then(function(r){var s=function(){var e=n().requestQueue;return(0,o.findIndex)((0,o.propEq)("uid",i),e)},c=function(e){var t=n().requestQueue,i=s();if(-1!==i){var a=(0,o.adjust)((0,o.merge)(o.__,{status:r.status,responseTime:Date.now(),rejected:e}),i,t),c=t[i].controllerId,f=a.filter(function(e,t){return e.controllerId!==c||t>=i});u(h(f))}},v=function(){return(0,o.findLastIndex)((0,o.propEq)("controllerId",e+"."+t),n().requestQueue)>s()};r.status===l.STATUS.OK?v()?c(!0):r.json().then(function(t){if(v())c(!0);else if(c(!1),(0,o.has)(e,n().paths)){var r={itempath:n().paths[e],props:t.response.props,source:"response"};if(u(d(r)),u(g({id:e,props:t.response.props})),(0,o.has)("children",r.props)&&(u(y({subTree:r.props.children,startingPath:(0,o.concat)(n().paths[e],["props","children"])})),(0,o.contains)((0,o.type)(r.props.children),["Array","Object"])&&!(0,o.isEmpty)(r.props.children))){var i={};(0,a.crawlLayout)(r.props.children,function(e){(0,a.hasId)(e)&&(0,o.keys)(e.props).forEach(function(t){var r=e.props.id+"."+t;(0,o.has)(r,S.nodes)&&(i[r]={id:e.props.id,props:p({},t,e.props[t])})})});var s=[];(0,o.keys)(i).forEach(function(e){0===S.dependenciesOf(e).length&&0===(0,o.intersection)(S.dependantsOf(e),(0,o.keys)(i)).length&&(s.push(e),delete i[e])});var l=m((0,o.keys)(i),S),x=S.overallOrder();(0,o.sort)(function(e,t){return x.indexOf(e.input)-x.indexOf(t.input)},l).forEach(function(e){var t=i[e.input];t.excludedOutputs=e.excludedOutputs,u(g(t))}),s.forEach(function(e){var t=(0,f.uid)();u(h((0,o.append)({controllerId:null,status:"loading",uid:t,requestTime:Date.now()},n().requestQueue))),b(e.split(".")[0],e.split(".")[1],null,n,t,u)})}}}):c(!0)})}},function(e,t,r){var n; /*! Copyright (c) 2015 Jed Watson. Based on code that is Copyright 2013-2015, Facebook, Inc. @@ -9,25 +9,25 @@ window.dash_renderer=function(e){var t={};function n(r){if(t[r])return t[r].expo Based on code that is Copyright 2013-2015, Facebook, Inc. All rights reserved. */ -!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r)}()},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=/([a-z])?([A-Z])/g,o=function(e,t,n){return(t||"")+"-"+n.toLowerCase()},i=function(e){return e.replace(r,o)};t.b=function(e){return Object.keys(e).reduce(function(t,n){var r=i(n);return/^ms-/.test(r)&&(r="-"+r),t[r]=e[n],t},{})}},function(e,t){e.exports=function(e){return"function"==typeof e["@@transducer/step"]}},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return t[e]})},function(e,t,n){var r=n(12),o=n(0),i=n(11),a=n(10);e.exports=o(function(e,t){return"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(n){return e(n)(t(n))}:i(function(e,n){return r(e,a(n,t))},[],e)})},function(e,t,n){var r=n(0),o=n(5),i=n(88),a=n(219),u=n(10);e.exports=r(o(["chain"],a,function(e,t){return"function"==typeof t?function(n){return e(t(n))(n)}:i(!1)(u(e,t))}))},function(e,t,n){var r=n(1);e.exports=r(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)})},function(e,t,n){var r=n(92),o=n(46);e.exports=function(){if(0===arguments.length)throw new Error("compose requires at least one argument");return r.apply(this,o(arguments))}},function(e,t,n){var r=n(30),o=n(1),i=n(21);e.exports=o(r("tail",i(1,1/0)))},function(e,t,n){var r=n(0),o=n(19),i=n(43),a=n(31);e.exports=r(function(e,t){if(null==e||!i(e.concat))throw new TypeError(a(e)+' does not have a method named "concat"');if(o(e)&&!o(t))throw new TypeError(a(t)+" is not an array");return e.concat(t)})},function(e,t,n){var r=n(0),o=n(5),i=n(98),a=n(99),u=n(11),s=n(235),c=n(15);e.exports=r(o(["filter"],s,function(e,t){return a(t)?u(function(n,r){return e(t[r])&&(n[r]=t[r]),n},{},c(t)):i(e,t)}))},function(e,t){e.exports=function(e,t,n){for(var r=0,o=n.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(a)throw a;for(var r=!1,o={},u=0;u=n.length||t<-n.length)return n;var o=(t<0?n.length:0)+t,i=r(n);return i[o]=e(n[o]),i})},function(e,t){e.exports=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},function(t){return new e(t)}}()},function(e,t,n){var r=n(14),o=n(0);e.exports=o(function(e,t){return r(e.length,function(){return e.apply(t,arguments)})})},function(e,t,n){var r=n(9);e.exports=function(){var e=Object.prototype.toString;return"[object Arguments]"===e.call(arguments)?function(t){return"[object Arguments]"===e.call(t)}:function(e){return r("callee",e)}}()},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return e&&t})},function(e,t,n){var r=n(0),o=n(5),i=n(82);e.exports=r(o(["any"],i,function(e,t){for(var n=0;n1){var c=o(s,r)?r[s]:a(t[1])?[]:{};n=e(Array.prototype.slice.call(t,1),n,c)}if(a(s)&&i(r)){var f=[].concat(r);return f[s]=n,f}return u(s,n,r)})},function(e,t){e.exports=Number.isInteger||function(e){return e<<0===e}},function(e,t,n){var r=n(0),o=n(11),i=n(56),a=n(8),u=n(10);e.exports=r(function(e,t){var n=a(e,t);return a(e,function(){return o(i,u(n,arguments[0]),Array.prototype.slice.call(arguments,1))})})},function(e,t,n){var r=n(29);e.exports=function(e){return function t(n){for(var o,i,a,u=[],s=0,c=n.length;s10)throw new Error("Constructor with greater than ten arguments");return 0===e?function(){return new t}:o(i(e,function(e,n,r,o,i,a,u,s,c,f){switch(arguments.length){case 1:return new t(e);case 2:return new t(e,n);case 3:return new t(e,n,r);case 4:return new t(e,n,r,o);case 5:return new t(e,n,r,o,i);case 6:return new t(e,n,r,o,i,a);case 7:return new t(e,n,r,o,i,a,u);case 8:return new t(e,n,r,o,i,a,u,s);case 9:return new t(e,n,r,o,i,a,u,s,c);case 10:return new t(e,n,r,o,i,a,u,s,c,f)}}))})},function(e,t,n){var r=n(0),o=n(39),i=n(8),a=n(24),u=n(28),s=n(16);e.exports=r(function(e,t){return i(s(a,0,u("length",t)),function(){var n=arguments,r=this;return e.apply(r,o(function(e){return e.apply(r,n)},t))})})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return null==t||t!=t?e:t})},function(e,t,n){var r=n(22),o=n(0);e.exports=o(function(e,t){for(var n=[],o=0,i=e.length;o=0;)t=e(n[r],t),r-=1;return t})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){var n,r=Number(t),o=0;if(r<0||isNaN(r))throw new RangeError("n must be a non-negative number");for(n=new Array(r);o2&&void 0!==arguments[2]?arguments[2]:[];if(n(t,i),"Object"===r.type(t)&&r.has("props",t)&&r.has("children",t.props)){var a=o(i,["props","children"]);Array.isArray(t.props.children)?t.props.children.forEach(function(t,o){e(t,n,r.append(o,a))}):e(t.props.children,n,a)}else"Array"===r.type(t)&&t.forEach(function(t,o){e(t,n,r.append(o,i))})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.repeat=function(e,t){return new Array(t+1).join(e)},o=t.pad=function(e,t){return r("0",t-e.toString().length)+e};t.formatTime=function(e){return o(e.getHours(),2)+":"+o(e.getMinutes(),2)+":"+o(e.getSeconds(),2)+"."+o(e.getMilliseconds(),3)},t.timer="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance:Date},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLayout=function(){return u("_dash-layout","GET","layoutRequest")},t.getDependencies=function(){return u("_dash-dependencies","GET","dependenciesRequest")},t.login=function(e){return u("_dash-login","POST","loginRequest",void 0,void 0,{Authorization:"Bearer "+e})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(136)).default,o=n(7).merge,i=n(137).urlBase;var a={GET:function(e){return fetch(e,{method:"GET",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":r.parse(document.cookie)._csrf_token}})},POST:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(e,{method:"POST",credentials:"same-origin",headers:o({Accept:"application/json","Content-Type":"application/json","X-CSRFToken":r.parse(document.cookie)._csrf_token},n),body:t?JSON.stringify(t):null})}};function u(e,t,n,r,o){var u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return function(s,c){var f=c().config;return s({type:n,payload:{id:r,status:"loading"}}),a[t](""+i(f)+e,o,u).then(function(e){var t=e.headers.get("content-type");if(t&&-1!==t.indexOf("application/json"))return e.json().then(function(t){return s({type:n,payload:{status:e.status,content:t,id:r}}),t});s({type:n,payload:{id:r,status:e.status}})}).catch(function(e){console.error(e),s({type:n,payload:{id:r,status:500}})})}}},function(e,t,n){"use strict"; +!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){"use strict";r.d(t,"a",function(){return i});var n=/([a-z])?([A-Z])/g,o=function(e,t,r){return(t||"")+"-"+r.toLowerCase()},i=function(e){return e.replace(n,o)};t.b=function(e){return Object.keys(e).reduce(function(t,r){var n=i(r);return/^ms-/.test(n)&&(n="-"+n),t[n]=e[r],t},{})}},function(e,t){e.exports=function(e){return"function"==typeof e["@@transducer/step"]}},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return t[e]})},function(e,t,r){var n=r(12),o=r(0),i=r(11),a=r(10);e.exports=o(function(e,t){return"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(r){return e(r)(t(r))}:i(function(e,r){return n(e,a(r,t))},[],e)})},function(e,t,r){var n=r(0),o=r(5),i=r(89),a=r(220),u=r(10);e.exports=n(o(["chain"],a,function(e,t){return"function"==typeof t?function(r){return e(t(r))(r)}:i(!1)(u(e,t))}))},function(e,t,r){var n=r(1);e.exports=n(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)})},function(e,t,r){var n=r(93),o=r(46);e.exports=function(){if(0===arguments.length)throw new Error("compose requires at least one argument");return n.apply(this,o(arguments))}},function(e,t,r){var n=r(30),o=r(1),i=r(21);e.exports=o(n("tail",i(1,1/0)))},function(e,t,r){var n=r(0),o=r(19),i=r(43),a=r(31);e.exports=n(function(e,t){if(null==e||!i(e.concat))throw new TypeError(a(e)+' does not have a method named "concat"');if(o(e)&&!o(t))throw new TypeError(a(t)+" is not an array");return e.concat(t)})},function(e,t,r){var n=r(0),o=r(5),i=r(99),a=r(100),u=r(11),s=r(236),c=r(15);e.exports=n(o(["filter"],s,function(e,t){return a(t)?u(function(r,n){return e(t[n])&&(r[n]=t[n]),r},{},c(t)):i(e,t)}))},function(e,t){e.exports=function(e,t,r){for(var n=0,o=r.length;n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(a)throw a;for(var n=!1,o={},u=0;u=r.length||t<-r.length)return r;var o=(t<0?r.length:0)+t,i=n(r);return i[o]=e(r[o]),i})},function(e,t){e.exports=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},function(t){return new e(t)}}()},function(e,t,r){var n=r(14),o=r(0);e.exports=o(function(e,t){return n(e.length,function(){return e.apply(t,arguments)})})},function(e,t,r){var n=r(9);e.exports=function(){var e=Object.prototype.toString;return"[object Arguments]"===e.call(arguments)?function(t){return"[object Arguments]"===e.call(t)}:function(e){return n("callee",e)}}()},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return e&&t})},function(e,t,r){var n=r(0),o=r(5),i=r(83);e.exports=n(o(["any"],i,function(e,t){for(var r=0;r1){var c=o(s,n)?n[s]:a(t[1])?[]:{};r=e(Array.prototype.slice.call(t,1),r,c)}if(a(s)&&i(n)){var f=[].concat(n);return f[s]=r,f}return u(s,r,n)})},function(e,t){e.exports=Number.isInteger||function(e){return e<<0===e}},function(e,t,r){var n=r(0),o=r(11),i=r(56),a=r(8),u=r(10);e.exports=n(function(e,t){var r=a(e,t);return a(e,function(){return o(i,u(r,arguments[0]),Array.prototype.slice.call(arguments,1))})})},function(e,t,r){var n=r(29);e.exports=function(e){return function t(r){for(var o,i,a,u=[],s=0,c=r.length;s10)throw new Error("Constructor with greater than ten arguments");return 0===e?function(){return new t}:o(i(e,function(e,r,n,o,i,a,u,s,c,f){switch(arguments.length){case 1:return new t(e);case 2:return new t(e,r);case 3:return new t(e,r,n);case 4:return new t(e,r,n,o);case 5:return new t(e,r,n,o,i);case 6:return new t(e,r,n,o,i,a);case 7:return new t(e,r,n,o,i,a,u);case 8:return new t(e,r,n,o,i,a,u,s);case 9:return new t(e,r,n,o,i,a,u,s,c);case 10:return new t(e,r,n,o,i,a,u,s,c,f)}}))})},function(e,t,r){var n=r(0),o=r(39),i=r(8),a=r(24),u=r(28),s=r(16);e.exports=n(function(e,t){return i(s(a,0,u("length",t)),function(){var r=arguments,n=this;return e.apply(n,o(function(e){return e.apply(n,r)},t))})})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return null==t||t!=t?e:t})},function(e,t,r){var n=r(22),o=r(0);e.exports=o(function(e,t){for(var r=[],o=0,i=e.length;o=0;)t=e(r[n],t),n-=1;return t})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){var r,n=Number(t),o=0;if(n<0||isNaN(n))throw new RangeError("n must be a non-negative number");for(r=new Array(n);o2&&void 0!==arguments[2]?arguments[2]:[];if(r(t,i),"Object"===n.default.type(t)&&n.default.has("props",t)&&n.default.has("children",t.props)){var a=o(i,["props","children"]);Array.isArray(t.props.children)?t.props.children.forEach(function(t,o){e(t,r,n.default.append(o,a))}):e(t.props.children,r,a)}else"Array"===n.default.type(t)&&t.forEach(function(t,o){e(t,r,n.default.append(o,i))})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=t.repeat=function(e,t){return new Array(t+1).join(e)},o=t.pad=function(e,t){return n("0",t-e.toString().length)+e};t.formatTime=function(e){return o(e.getHours(),2)+":"+o(e.getMinutes(),2)+":"+o(e.getSeconds(),2)+"."+o(e.getMilliseconds(),3)},t.timer="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance:Date},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLayout=function(){return u("_dash-layout","GET","layoutRequest")},t.getDependencies=function(){return u("_dash-dependencies","GET","dependenciesRequest")},t.login=function(e){return u("_dash-login","POST","loginRequest","","",{Authorization:"Bearer "+e})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(137)),o=r(7),i=r(138);var a={GET:function(e){return fetch(e,{method:"GET",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json","X-CSRFToken":n.default.parse(document.cookie)._csrf_token}})},POST:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(e,{method:"POST",credentials:"same-origin",headers:(0,o.merge)({Accept:"application/json","Content-Type":"application/json","X-CSRFToken":n.default.parse(document.cookie)._csrf_token},r),body:t?JSON.stringify(t):null})}};function u(e,t,r,n,o){var u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return function(s,c){var f=c().config;return s({type:r,payload:{id:n,status:"loading"}}),a[t](""+(0,i.urlBase)(f)+e,o,u).then(function(e){var t=e.headers.get("content-type");return t&&-1!==t.indexOf("application/json")?e.json().then(function(t){return s({type:r,payload:{status:e.status,content:t,id:n}}),t}):s({type:r,payload:{id:n,status:e.status}})}).catch(function(e){console.error(e),s({type:r,payload:{id:n,status:500}})})}}},function(e,t,r){"use strict"; /*! * cookie * Copyright(c) 2012-2014 Roman Shtylman * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed - */t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var n={},o=t||{},a=e.split(i),s=o.decode||r,c=0;c-1&&e%1==0&&e<=n}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?s.call(e):"";return t==o||t==i}(e)}(e)}(e)&&u.call(e,"callee")&&(!c.call(e,"callee")||s.call(e)==r)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r,o){for(var i=0,a=e.length;i0&&(u[s]=f)}else{var h=(0,o.default)(n,s,c,u,t);h&&(u[s]=h),u=(0,r.default)(t,s,u)}}return u}};var r=u(n(433)),o=u(n(140)),i=u(n(141)),a=u(n(142));function u(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=n.userAgent||r,this._keepUnprefixed=n.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,o.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,i.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var a=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(a){for(var u in this._requiresPrefix={},a)a[u]>=this._browserInfo.browserVersion&&(this._requiresPrefix[u]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return r(e,[{key:"prefix",value:function(e){return this._useFallback?f(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:"_prefixStyle",value:function(e){for(var t in e){var r=e[t];if((0,s.default)(r))e[t]=this.prefix(r);else if(Array.isArray(r)){for(var o=[],i=0,f=r.length;i0&&(e[t]=o)}else{var p=(0,c.default)(n,t,r,e,this._metaData);p&&(e[t]=p),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,a.default)(t)]=r,this._keepUnprefixed||delete e[t])}}return e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}()};var o=f(n(434)),i=f(n(437)),a=f(n(70)),u=f(n(141)),s=f(n(142)),c=f(n(140));function f(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){"use strict";var r=n(148),o=n.n(r),i=n(149),a=n.n(i),u=n(150),s=n.n(u),c=n(151),f=n.n(c),l=n(152),p=n.n(l),d=n(153),h=n.n(d),y=n(154),v=n.n(y),m=n(155),g=n.n(m),b=n(156),x=n.n(b),w=n(157),_=n.n(w),O=n(158),S=n.n(O),k=n(159),j=n.n(k),P=["Webkit"],E=["Moz"],C=["ms"],A=["Webkit","Moz"],M=["Webkit","ms"],T=["Webkit","Moz","ms"];t.a={plugins:[o.a,a.a,s.a,f.a,p.a,h.a,v.a,g.a,x.a,_.a,S.a,j.a],prefixMap:{transform:M,transformOrigin:M,transformOriginX:M,transformOriginY:M,backfaceVisibility:P,perspective:P,perspectiveOrigin:P,transformStyle:P,transformOriginZ:P,animation:P,animationDelay:P,animationDirection:P,animationFillMode:P,animationDuration:P,animationIterationCount:P,animationName:P,animationPlayState:P,animationTimingFunction:P,appearance:A,userSelect:T,fontKerning:P,textEmphasisPosition:P,textEmphasis:P,textEmphasisStyle:P,textEmphasisColor:P,boxDecorationBreak:P,clipPath:P,maskImage:P,maskMode:P,maskRepeat:P,maskPosition:P,maskClip:P,maskOrigin:P,maskSize:P,maskComposite:P,mask:P,maskBorderSource:P,maskBorderMode:P,maskBorderSlice:P,maskBorderWidth:P,maskBorderOutset:P,maskBorderRepeat:P,maskBorder:P,maskType:P,textDecorationStyle:A,textDecorationSkip:A,textDecorationLine:A,textDecorationColor:A,filter:P,fontFeatureSettings:A,breakAfter:T,breakBefore:T,breakInside:T,columnCount:A,columnFill:A,columnGap:A,columnRule:A,columnRuleColor:A,columnRuleStyle:A,columnRuleWidth:A,columns:A,columnSpan:A,columnWidth:A,writingMode:M,flex:M,flexBasis:P,flexDirection:M,flexGrow:P,flexFlow:M,flexShrink:P,flexWrap:M,alignContent:P,alignItems:P,alignSelf:P,justifyContent:P,order:P,transitionDelay:P,transitionDuration:P,transitionProperty:P,transitionTimingFunction:P,backdropFilter:P,scrollSnapType:M,scrollSnapPointsX:M,scrollSnapPointsY:M,scrollSnapDestination:M,scrollSnapCoordinate:M,shapeImageThreshold:P,shapeImageMargin:P,shapeImageOutside:P,hyphens:T,flowInto:M,flowFrom:M,regionFragment:M,boxSizing:E,textAlignLast:E,tabSize:E,wrapFlow:C,wrapThrough:C,wrapMargin:C,touchAction:C,gridTemplateColumns:C,gridTemplateRows:C,gridTemplateAreas:C,gridTemplate:C,gridAutoColumns:C,gridAutoRows:C,gridAutoFlow:C,grid:C,gridRowStart:C,gridColumnStart:C,gridRowEnd:C,gridRow:C,gridColumn:C,gridColumnEnd:C,gridColumnGap:C,gridRowGap:C,gridArea:C,gridGap:C,textSizeAdjust:M,borderImage:P,borderImageOutset:P,borderImageRepeat:P,borderImageSlice:P,borderImageSource:P,borderImageWidth:P}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,r.default)(t)&&t.indexOf("calc(")>-1)return o.map(function(e){return t.replace(/calc\(/g,e+"calc(")})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(25));var o=["-webkit-","-moz-",""];e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,r.default)(t)&&t.indexOf("cross-fade(")>-1)return o.map(function(e){return t.replace(/cross-fade\(/g,e+"cross-fade(")})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("cursor"===e&&o.hasOwnProperty(t))return r.map(function(e){return e+t})};var r=["-webkit-","-moz-",""],o={"zoom-in":!0,"zoom-out":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,r.default)(t)&&t.indexOf("filter(")>-1)return o.map(function(e){return t.replace(/filter\(/g,e+"filter(")})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("display"===e&&r.hasOwnProperty(t))return r[t]};var r={flex:["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex","flex"],"inline-flex":["-webkit-inline-box","-moz-inline-box","-ms-inline-flexbox","-webkit-inline-flex","inline-flex"]};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){o.hasOwnProperty(e)&&(n[o[e]]=r[t]||t)};var r={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end"},o={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?n.WebkitBoxOrient="vertical":n.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?n.WebkitBoxDirection="reverse":n.WebkitBoxDirection="normal");o.hasOwnProperty(e)&&(n[o[e]]=r[t]||t)};var r={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple"},o={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines"};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,r.default)(t)&&i.test(t))return o.map(function(e){return e+t})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(25));var o=["-webkit-","-moz-",""],i=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,r.default)(t)&&t.indexOf("image-set(")>-1)return o.map(function(e){return t.replace(/image-set\(/g,e+"image-set(")})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("position"===e&&"sticky"===t)return["-webkit-sticky","sticky"]},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return r.map(function(e){return e+t})};var r=["-webkit-","-moz-",""],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){if("string"==typeof t&&u.hasOwnProperty(e)){var c=function(e,t){if((0,o.default)(e))return e;for(var n=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g),i=0,a=n.length;i-1&&"order"!==l)for(var p=t[f],d=0,h=p.length;d-1)return f;var l=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return!/-webkit-|-ms-/.test(e)}).join(",");return e.indexOf("Moz")>-1?l:(n["Webkit"+(0,i.default)(e)]=f,n["Moz"+(0,i.default)(e)]=l,c)}};var r=a(n(143)),o=a(n(25)),i=a(n(70));function a(e){return e&&e.__esModule?e:{default:e}}var u={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-"};e.exports=t.default},function(e,t,n){"use strict";var r=n(161),o=n.n(r),i=n(162),a=n.n(i),u=n(163),s=n.n(u),c=n(164),f=n.n(c),l=n(165),p=n.n(l),d=n(166),h=n.n(d),y=n(167),v=n.n(y),m=n(168),g=n.n(m),b=n(169),x=n.n(b),w=n(170),_=n.n(w),O=n(171),S=n.n(O),k=n(172),j=n.n(k);t.a={plugins:[o.a,a.a,s.a,f.a,p.a,h.a,v.a,g.a,x.a,_.a,S.a,j.a],prefixMap:{chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:66,userSelect:53,fontKerning:32,textEmphasisPosition:66,textEmphasis:66,textEmphasisStyle:66,textEmphasisColor:66,boxDecorationBreak:66,clipPath:54,maskImage:66,maskMode:66,maskRepeat:66,maskPosition:66,maskClip:66,maskOrigin:66,maskSize:66,maskComposite:66,mask:66,maskBorderSource:66,maskBorderMode:66,maskBorderSlice:66,maskBorderWidth:66,maskBorderOutset:66,maskBorderRepeat:66,maskBorder:66,maskType:66,textDecorationStyle:56,textDecorationSkip:56,textDecorationLine:56,textDecorationColor:56,filter:52,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49,writingMode:47},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:11,userSelect:11,backdropFilter:11,fontKerning:9,scrollSnapType:10.1,scrollSnapPointsX:10.1,scrollSnapPointsY:10.1,scrollSnapDestination:10.1,scrollSnapCoordinate:10.1,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:11,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8,writingMode:10.1},firefox:{appearance:60,userSelect:60,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:60,hyphens:42,fontFeatureSettings:33,breakAfter:51,breakBefore:51,breakInside:51,columnCount:51,columnFill:51,columnGap:51,columnRule:51,columnRuleColor:51,columnRuleStyle:51,columnRuleWidth:51,columns:51,columnSpan:51,columnWidth:51},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:50,userSelect:40,fontKerning:19,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:41,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:43,textDecorationSkip:43,textDecorationLine:43,textDecorationColor:43,filter:39,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36,writingMode:34},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11,writingMode:11},edge:{userSelect:17,wrapFlow:17,wrapThrough:17,wrapMargin:17,scrollSnapType:17,scrollSnapPointsX:17,scrollSnapPointsY:17,scrollSnapDestination:17,scrollSnapCoordinate:17,hyphens:17,flowInto:17,flowFrom:17,breakBefore:17,breakAfter:17,breakInside:17,regionFragment:17,gridTemplateColumns:15,gridTemplateRows:15,gridTemplateAreas:15,gridTemplate:15,gridAutoColumns:15,gridAutoRows:15,gridAutoFlow:15,grid:15,gridRowStart:15,gridColumnStart:15,gridRowEnd:15,gridRow:15,gridColumn:15,gridColumnEnd:15,gridColumnGap:15,gridRowGap:15,gridArea:15,gridGap:15},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:11,userSelect:11,backdropFilter:11,fontKerning:11,scrollSnapType:10.3,scrollSnapPointsX:10.3,scrollSnapPointsY:10.3,scrollSnapDestination:10.3,scrollSnapCoordinate:10.3,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textSizeAdjust:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:11,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1,writingMode:10.3},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:62,userSelect:4.4,fontKerning:4.4,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,clipPath:4.4,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62,filter:4.4,fontFeatureSettings:4.4,breakAfter:4.4,breakBefore:4.4,breakInside:4.4,columnCount:4.4,columnFill:4.4,columnGap:4.4,columnRule:4.4,columnRuleColor:4.4,columnRuleStyle:4.4,columnRuleWidth:4.4,columns:4.4,columnSpan:4.4,columnWidth:4.4,writingMode:4.4},and_chr:{appearance:62,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62},and_uc:{flex:11.4,flexBasis:11.4,flexDirection:11.4,flexGrow:11.4,flexFlow:11.4,flexShrink:11.4,flexWrap:11.4,alignContent:11.4,alignItems:11.4,alignSelf:11.4,justifyContent:11.4,order:11.4,transform:11.4,transformOrigin:11.4,transformOriginX:11.4,transformOriginY:11.4,backfaceVisibility:11.4,perspective:11.4,perspectiveOrigin:11.4,transformStyle:11.4,transformOriginZ:11.4,animation:11.4,animationDelay:11.4,animationDirection:11.4,animationFillMode:11.4,animationDuration:11.4,animationIterationCount:11.4,animationName:11.4,animationPlayState:11.4,animationTimingFunction:11.4,appearance:11.4,userSelect:11.4,textEmphasisPosition:11.4,textEmphasis:11.4,textEmphasisStyle:11.4,textEmphasisColor:11.4,clipPath:11.4,maskImage:11.4,maskMode:11.4,maskRepeat:11.4,maskPosition:11.4,maskClip:11.4,maskOrigin:11.4,maskSize:11.4,maskComposite:11.4,mask:11.4,maskBorderSource:11.4,maskBorderMode:11.4,maskBorderSlice:11.4,maskBorderWidth:11.4,maskBorderOutset:11.4,maskBorderRepeat:11.4,maskBorder:11.4,maskType:11.4,textSizeAdjust:11.4,filter:11.4,hyphens:11.4,fontFeatureSettings:11.4,breakAfter:11.4,breakBefore:11.4,breakInside:11.4,columnCount:11.4,columnFill:11.4,columnGap:11.4,columnRule:11.4,columnRuleColor:11.4,columnRuleStyle:11.4,columnRuleWidth:11.4,columns:11.4,columnSpan:11.4,columnWidth:11.4,writingMode:11.4},op_mini:{}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("calc(")>-1&&("firefox"===i&&a<15||"chrome"===i&&a<25||"safari"===i&&a<6.1||"ios_saf"===i&&a<7))return(0,r.default)(t.replace(/calc\(/g,u+"calc("),t,s)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("cross-fade(")>-1&&("chrome"===i||"opera"===i||"and_chr"===i||("ios_saf"===i||"safari"===i)&&a<10))return(0,r.default)(t.replace(/cross-fade\(/g,u+"cross-fade("),t,s)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){var u=a.browserName,s=a.browserVersion,c=a.cssPrefix,f=a.keepUnprefixed;if("cursor"===e&&o[t]&&("firefox"===u||"chrome"===u||"safari"===u||"opera"===u))return(0,r.default)(c+t,t,f);if("cursor"===e&&i[t]&&("firefox"===u&&s<24||"chrome"===u&&s<37||"safari"===u&&s<9||"opera"===u&&s<24))return(0,r.default)(c+t,t,f)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o={grab:!0,grabbing:!0},i={"zoom-in":!0,"zoom-out":!0};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("filter(")>-1&&("ios_saf"===i||"safari"===i&&a<9.1))return(0,r.default)(t.replace(/filter\(/g,u+"filter("),t,s)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){var a=i.browserName,u=i.browserVersion,s=i.cssPrefix,c=i.keepUnprefixed;if("display"===e&&o[t]&&("chrome"===a&&u<29&&u>20||("safari"===a||"ios_saf"===a)&&u<9&&u>6||"opera"===a&&(15===u||16===u)))return(0,r.default)(s+t,t,c)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o={flex:!0,"inline-flex":!0};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){var u=a.browserName,s=a.browserVersion,c=a.cssPrefix,f=a.keepUnprefixed,l=a.requiresPrefix;if((i.hasOwnProperty(e)||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("ie_mob"===u||"ie"===u)&&10===s){if(delete l[e],f||Array.isArray(n[e])||delete n[e],"display"===e&&o.hasOwnProperty(t))return(0,r.default)(c+o[t],t,f);i.hasOwnProperty(e)&&(n[i[e]]=o[t]||t)}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},i={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,u){var s=u.browserName,c=u.browserVersion,f=u.cssPrefix,l=u.keepUnprefixed,p=u.requiresPrefix;if((a.indexOf(e)>-1||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("firefox"===s&&c<22||"chrome"===s&&c<21||("safari"===s||"ios_saf"===s)&&c<=6.1||"android"===s&&c<4.4||"and_uc"===s)){if(delete p[e],l||Array.isArray(n[e])||delete n[e],"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?n.WebkitBoxOrient="vertical":n.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?n.WebkitBoxDirection="reverse":n.WebkitBoxDirection="normal"),"display"===e&&o.hasOwnProperty(t))return(0,r.default)(f+o[t],t,l);i.hasOwnProperty(e)&&(n[i[e]]=o[t]||t)}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},i={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines"},a=Object.keys(i).concat(["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"]);e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){var a=i.browserName,u=i.browserVersion,s=i.cssPrefix,c=i.keepUnprefixed;if("string"==typeof t&&o.test(t)&&("firefox"===a&&u<16||"chrome"===a&&u<26||("safari"===a||"ios_saf"===a)&&u<7||("opera"===a||"op_mini"===a)&&u<12.1||"android"===a&&u<4.4||"and_uc"===a))return(0,r.default)(s+t,t,c)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i=o.browserName,a=o.cssPrefix,u=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("image-set(")>-1&&("chrome"===i||"opera"===i||"and_chr"===i||"and_uc"===i||"ios_saf"===i||"safari"===i))return(0,r.default)(t.replace(/image-set\(/g,a+"image-set("),t,u)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i=o.browserName,a=o.cssPrefix,u=o.keepUnprefixed;if("position"===e&&"sticky"===t&&("safari"===i||"ios_saf"===i))return(0,r.default)(a+t,t,u)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){var u=a.cssPrefix,s=a.keepUnprefixed;if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return(0,r.default)(u+t,t,s)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(13));var o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){var u=a.cssPrefix,s=a.keepUnprefixed,c=a.requiresPrefix;if("string"==typeof t&&o.hasOwnProperty(e)){i||(i=Object.keys(c).map(function(e){return(0,r.default)(e)}));var f=t.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return i.forEach(function(e){f.forEach(function(t,n){t.indexOf(e)>-1&&"order"!==e&&(f[n]=t.replace(e,u+e)+(s?","+t:""))})}),f.join(",")}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(143));var o={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},i=void 0;e.exports=t.default},function(e,t,n){"use strict";var r=a(n(3)).default,o=a(n(174)).default,i=a(n(175)).default;function a(e){return e&&e.__esModule?e:{default:e}}o.render(r.createElement(i,null),document.getElementById("react-entry-point"))},function(e,t){e.exports=window.ReactDOM},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(3)).default,o=n(18).Provider,i=u(n(198)).default,a=u(n(409)).default;function u(e){return e&&e.__esModule?e:{default:e}}var s=i();t.default=function(){return r.createElement(o,{store:s},r.createElement(a,null))}},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=n(3),o=a(n(4)),i=a(n(73));a(n(74));function a(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n,r));return o.store=n.store,o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return r.Children.only(this.props.children)},t}(r.Component);t.default=u,u.propTypes={store:i.default.isRequired,children:o.default.element.isRequired},u.childContextTypes={store:i.default.isRequired}},function(e,t,n){"use strict";var r=n(178),o=n(179),i=n(180);e.exports=function(){function e(e,t,n,r,a,u){u!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,u,s){if(r(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[n,o,i,a,u,s],l=0;(c=new Error(t.replace(/%s/g,function(){return f[l++]}))).name="Invariant Violation"}throw c.framesToPop=1,c}}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},v=Boolean(e),m=e||l,g=void 0;g="function"==typeof t?t:t?(0,u.default)(t):p;var b=n||d,x=f.pure,w=void 0===x||x,_=f.withRef,O=void 0!==_&&_,S=w&&b!==d,k=y++;return function(e){var t="Connect("+function(e){return e.displayName||e.name||"Component"}(e)+")";var n=function(n){function i(e,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,n.call(this,e,r));o.version=k,o.store=e.store||r.store,(0,c.default)(o.store,'Could not find "store" in either the context or props of "'+t+'". Either wrap the root component in a , or explicitly pass "store" as a prop to "'+t+'".');var a=o.store.getState();return o.state={storeState:a},o.clearCache(),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,n),i.prototype.shouldComponentUpdate=function(){return!w||this.haveOwnPropsChanged||this.hasStoreStateChanged},i.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n);return r},i.prototype.configureFinalMapState=function(e,t){var n=m(e.getState(),t),r="function"==typeof n;return this.finalMapStateToProps=r?n:m,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},i.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n);return r},i.prototype.configureFinalMapDispatch=function(e,t){var n=g(e.dispatch,t),r="function"==typeof n;return this.finalMapDispatchToProps=r?n:g,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},i.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,a.default)(e,this.stateProps))&&(this.stateProps=e,!0)},i.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,a.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},i.prototype.updateMergedPropsIfNeeded=function(){var e=function(e,t,n){var r=b(e,t,n);0;return r}(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&S&&(0,a.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},i.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},i.prototype.trySubscribe=function(){v&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},i.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},i.prototype.componentDidMount=function(){this.trySubscribe()},i.prototype.componentWillReceiveProps=function(e){w&&(0,a.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},i.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},i.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},i.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!w||t!==e){if(w&&!this.doStatePropsDependOnOwnProps){var n=function(e,t){try{return e.apply(t)}catch(e){return h.value=e,h}}(this.updateStatePropsIfNeeded,this);if(!n)return;n===h&&(this.statePropsPrecalculationError=h.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},i.prototype.getWrappedInstance=function(){return(0,c.default)(O,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},i.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,i=this.haveStatePropsBeenPrecalculated,a=this.statePropsPrecalculationError,u=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,a)throw a;var s=!0,c=!0;w&&u&&(s=n||t&&this.doStatePropsDependOnOwnProps,c=t&&this.doDispatchPropsDependOnOwnProps);var f=!1,l=!1;i?f=!0:s&&(f=this.updateStatePropsIfNeeded()),c&&(l=this.updateDispatchPropsIfNeeded());return!(!!(f||l||t)&&this.updateMergedPropsIfNeeded())&&u?u:(this.renderedElement=O?(0,o.createElement)(e,r({},this.mergedProps,{ref:"wrappedInstance"})):(0,o.createElement)(e,this.mergedProps),this.renderedElement)},i}(o.Component);return n.displayName=t,n.WrappedComponent=e,n.contextTypes={store:i.default},n.propTypes={store:i.default},(0,s.default)(n,e)}};var o=n(3),i=f(n(73)),a=f(n(182)),u=f(n(183)),s=(f(n(74)),f(n(187)),f(n(196))),c=f(n(197));function f(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return{}},p=function(e){return{dispatch:e}},d=function(e,t,n){return r({},n,e,t)};var h={value:null};var y=0},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i0&&(p.props[e]=u(a(i(c[d],["props",e])),s))})}return p}t.default=function(e){return function(t,n){if("ON_PROP_CHANGE"===n.type&&o.isEmpty(t.history.present)){var r=n.payload,i=g(r.itempath,r.props,t);i&&!o.isEmpty(i.props)&&(t.history.present=i)}var a=e(t,n);if("ON_PROP_CHANGE"===n.type&&"response"!==n.payload.source){var u=n.payload,s=g(u.itempath,u.props,a);s&&!o.isEmpty(s.props)&&(a.history={past:[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t=0?r:0);no?1:0})},function(e,t,n){var r=n(1),o=n(42);e.exports=r(function(e){return o(2,e)})},function(e,t,n){var r=n(0),o=n(43),i=n(80),a=n(44);e.exports=r(function(e,t){return o(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:a(i)(e,t)})},function(e,t,n){var r=n(45);e.exports=r(function(e){return e.apply(this,Array.prototype.slice.call(arguments,1))})},function(e,t,n){var r=n(0),o=n(220),i=n(10);e.exports=r(function(e,t){return i(e,o(t))})},function(e,t,n){var r=n(221),o=n(11),i=n(6),a=n(29);e.exports=function(e){var t=function(e){return{"@@transducer/init":i.init,"@@transducer/result":function(t){return e["@@transducer/result"](t)},"@@transducer/step":function(t,n){var o=e["@@transducer/step"](t,n);return o["@@transducer/reduced"]?r(o):o}}}(e);return{"@@transducer/init":i.init,"@@transducer/result":function(e){return t["@@transducer/result"](e)},"@@transducer/step":function(e,n){return a(n)?o(t,e,n):o(t,e,[n])}}}},function(e,t){e.exports=function(e){return{"@@transducer/value":e,"@@transducer/reduced":!0}}},function(e,t,n){var r=n(2);e.exports=r(function(e,t,n){if(e>t)throw new Error("min must not be greater than max in clamp(min, max, value)");return nt?t:n})},function(e,t,n){var r=n(89),o=n(1);e.exports=o(function(e){return null!=e&&"function"==typeof e.clone?e.clone():r(e,[],[],!0)})},function(e,t,n){var r=n(1);e.exports=r(function(e){return function(t,n){return e(t,n)?-1:e(n,t)?1:0}})},function(e,t,n){var r=n(44),o=n(91);e.exports=r(o)},function(e,t){e.exports=function(e,t){return function(){return t.call(this,e.apply(this,arguments))}}},function(e,t,n){var r=n(94),o=n(46);e.exports=function(){if(0===arguments.length)throw new Error("composeP requires at least one argument");return r.apply(this,o(arguments))}},function(e,t){e.exports=function(e,t){return function(){var n=this;return e.apply(n,arguments).then(function(e){return t.call(n,e)})}}},function(e,t,n){var r=n(22),o=n(39),i=n(233),a=n(234),u=n(15),s=n(47);e.exports=function e(t,n){var c=function(o){var i=n.concat([t]);return r(o,i)?"":e(o,i)},f=function(e,t){return o(function(t){return i(t)+": "+c(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+o(c,t).join(", ")+"))";case"[object Array]":return"["+o(c,t).concat(f(t,s(function(e){return/^\d+$/.test(e)},u(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+c(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?c(NaN):i(a(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+c(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+c(t.valueOf())+")":i(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var l=t.toString();if("[object Object]"!==l)return l}return"{"+f(t,u(t)).join(", ")+"}"}}},function(e,t,n){var r=n(231),o=n(232),i=n(9),a=n(96),u=n(15),s=n(58);e.exports=function e(t,n,c,f){if(a(t,n))return!0;if(s(t)!==s(n))return!1;if(null==t||null==n)return!1;if("function"==typeof t.equals||"function"==typeof n.equals)return"function"==typeof t.equals&&t.equals(n)&&"function"==typeof n.equals&&n.equals(t);switch(s(t)){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===o(t.constructor))return t===n;break;case"Boolean":case"Number":case"String":if(typeof t!=typeof n||!a(t.valueOf(),n.valueOf()))return!1;break;case"Date":if(!a(t.valueOf(),n.valueOf()))return!1;break;case"Error":return t.name===n.name&&t.message===n.message;case"RegExp":if(t.source!==n.source||t.global!==n.global||t.ignoreCase!==n.ignoreCase||t.multiline!==n.multiline||t.sticky!==n.sticky||t.unicode!==n.unicode)return!1;break;case"Map":case"Set":if(!e(r(t.entries()),r(n.entries()),c,f))return!1;break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var l=u(t);if(l.length!==u(n).length)return!1;for(var p=c.length-1;p>=0;){if(c[p]===t)return f[p]===n;p-=1}for(c.push(t),f.push(n),p=l.length-1;p>=0;){var d=l[p];if(!i(d,n)||!e(n[d],t[d],c,f))return!1;p-=1}return c.pop(),f.pop(),!0}},function(e,t){e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},function(e,t){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},function(e,t){e.exports=function(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}},function(e,t){e.exports=function(){var e=function(e){return(e<10?"0":"")+e};return"function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(t){return t.getUTCFullYear()+"-"+e(t.getUTCMonth()+1)+"-"+e(t.getUTCDate())+"T"+e(t.getUTCHours())+":"+e(t.getUTCMinutes())+":"+e(t.getUTCSeconds())+"."+(t.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}()},function(e,t,n){var r=n(0),o=n(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(14),o=n(1),i=n(10),a=n(24),u=n(16);e.exports=o(function(e){var t=u(a,0,i(function(e){return e[0].length},e));return r(t,function(){for(var t=0;to?-1:r0?(this.n-=1,e):this.xf["@@transducer/step"](e,t)},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(0),o=n(5),i=n(247),a=n(249);e.exports=r(o([],a,i))},function(e,t,n){var r=n(107);e.exports=function(e,t){return r(e=this.n?o(n):n},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(0),o=n(6);e.exports=function(){function e(e,t){this.xf=t,this.pos=0,this.full=!1,this.acc=new Array(e)}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.acc=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.full&&(e=this.xf["@@transducer/step"](e,this.acc[this.pos])),this.store(t),e},e.prototype.store=function(e){this.acc[this.pos]=e,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(0),o=n(5),i=n(251),a=n(252);e.exports=r(o([],a,i))},function(e,t){e.exports=function(e,t){for(var n=t.length-1;n>=0&&e(t[n]);)n-=1;return Array.prototype.slice.call(t,0,n+1)}},function(e,t,n){var r=n(0),o=n(11),i=n(6);e.exports=function(){function e(e,t){this.f=e,this.retained=[],this.xf=t}return e.prototype["@@transducer/init"]=i.init,e.prototype["@@transducer/result"]=function(e){return this.retained=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.retain(e,t):this.flush(e,t)},e.prototype.flush=function(e,t){return e=o(this.xf["@@transducer/step"],e,this.retained),this.retained=[],this.xf["@@transducer/step"](e,t)},e.prototype.retain=function(e,t){return this.retained.push(t),e},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(1),o=n(5),i=n(108),a=n(109),u=n(17);e.exports=r(o([],i(u),a(u)))},function(e,t,n){var r=n(0),o=n(5),i=n(255);e.exports=r(o(["dropWhile"],i,function(e,t){for(var n=0,r=t.length;n=0;){if(e(t[n]))return t[n];n-=1}}))},function(e,t,n){var r=n(0),o=n(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.last))},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.last=t),e},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(0),o=n(5),i=n(267);e.exports=r(o([],i,function(e,t){for(var n=t.length-1;n>=0;){if(e(t[n]))return n;n-=1}return-1}))},function(e,t,n){var r=n(0),o=n(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),e},r(function(t,n){return new e(t,n)})}()},function(e,t,n){var r=n(1),o=n(88);e.exports=r(o(!0))},function(e,t,n){var r=n(30),o=n(0);e.exports=o(r("forEach",function(e,t){for(var n=t.length,r=0;rt})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return e>=t})},function(e,t,n){var r=n(0),o=n(9);e.exports=r(o)},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return e in t})},function(e,t,n){var r=n(32);e.exports=r(0)},function(e,t,n){var r=n(2),o=n(8);e.exports=r(function(e,t,n){return o(Math.max(e.length,t.length,n.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):n.apply(this,arguments)})})},function(e,t,n){var r=n(37);e.exports=r(1)},function(e,t,n){var r=n(48);e.exports=r(function(e,t){return t},null)},function(e,t,n){var r=n(0),o=n(95),i=n(19);e.exports=r(function(e,t){return"function"!=typeof t.indexOf||i(t)?o(t,e,0):t.indexOf(e)})},function(e,t,n){var r=n(21);e.exports=r(0,-1)},function(e,t,n){var r=n(2);e.exports=r(function(e,t,n){e=e=0?e:n.length;var r=Array.prototype.slice.call(n,0);return r.splice(e,0,t),r})},function(e,t,n){var r=n(2);e.exports=r(function(e,t,n){return e=e=0?e:n.length,[].concat(Array.prototype.slice.call(n,0,e),t,Array.prototype.slice.call(n,e))})},function(e,t,n){var r=n(22),o=n(0),i=n(98),a=n(49),u=n(66);e.exports=o(function(e,t){var n,o;return e.length>t.length?(n=e,o=t):(n=t,o=e),u(i(a(r)(n),o))})},function(e,t,n){var r=n(22);e.exports=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}function t(e,t,n){var o,i=typeof e;switch(i){case"string":case"number":return 0===e&&1/e==-1/0?!!n._items["-0"]||(t&&(n._items["-0"]=!0),!1):null!==n._nativeSet?t?(o=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===o):n._nativeSet.has(e):i in n._items?e in n._items[i]||(t&&(n._items[i][e]=!0),!1):(t&&(n._items[i]={},n._items[i][e]=!0),!1);case"boolean":if(i in n._items){var a=e?1:0;return!!n._items[i][a]||(t&&(n._items[i][a]=!0),!1)}return t&&(n._items[i]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==n._nativeSet?t?(o=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===o):n._nativeSet.has(e):i in n._items?!!r(e,n._items[i])||(t&&n._items[i].push(e),!1):(t&&(n._items[i]=[e]),!1);case"undefined":return!!n._items[i]||(t&&(n._items[i]=!0),!1);case"object":if(null===e)return!!n._items.null||(t&&(n._items.null=!0),!1);default:return(i=Object.prototype.toString.call(e))in n._items?!!r(e,n._items[i])||(t&&n._items[i].push(e),!1):(t&&(n._items[i]=[e]),!1)}}return e.prototype.add=function(e){return!t(e,!0,this)},e.prototype.has=function(e){return t(e,!1,this)},e}()},function(e,t,n){var r=n(63),o=n(2),i=n(67);e.exports=o(function(e,t,n){var o,a;t.length>n.length?(o=t,a=n):(o=n,a=t);for(var u=[],s=0;s=0;){if(i(t[n],e))return n;n-=1}return-1}return t.lastIndexOf(e)})},function(e,t,n){var r=n(1),o=n(50),i=n(32),a=n(119);e.exports=r(function(e){return o(i(e),a(e))})},function(e,t,n){var r=n(1),o=n(85),i=n(50),a=n(34);e.exports=r(function(e){return i(a(e),o(e))})},function(e,t,n){var r=n(1),o=n(41),i=n(50),a=n(55);e.exports=r(function(e){return i(a(e),o(e))})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return e=0;)i=e(n[r],i[0]),o[r]=i[1],r-=1;return[o,i[0]]})},function(e,t,n){var r=n(0),o=n(11),i=n(15);e.exports=r(function(e,t){return o(function(n,r){return n[r]=e(t[r],r,t),n},{},i(t))})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return t.match(e)||[]})},function(e,t,n){var r=n(0),o=n(86);e.exports=r(function(e,t){return o(e)?!o(t)||t<1?NaN:(e%t+t)%t:NaN})},function(e,t,n){var r=n(2);e.exports=r(function(e,t,n){return e(n)>e(t)?n:t})},function(e,t,n){var r=n(1),o=n(120);e.exports=r(function(e){var t=e.length;if(0===t)return NaN;var n=2-t%2,r=(t-n)/2;return o(Array.prototype.slice.call(e,0).sort(function(e,t){return et?1:0}).slice(r,r+n))})},function(e,t,n){var r=n(14),o=n(1),i=n(9),a=n(31);e.exports=o(function(e){var t={};return r(e.length,function(){var n=a(arguments);return i(n,t)||(t[n]=e.apply(this,arguments)),t[n]})})},function(e,t,n){var r=n(68),o=n(0);e.exports=o(function(e,t){return r({},e,t)})},function(e,t,n){var r=n(68),o=n(1);e.exports=o(function(e){return r.apply(null,[{}].concat(e))})},function(e,t,n){var r=n(2),o=n(122);e.exports=r(function(e,t,n){return o(function(t,n,r){return e(n,r)},t,n)})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return t0&&e(o(t,n))})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){for(var n={},r=0;ro?1:0})})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){return Array.prototype.slice.call(t,0).sort(function(t,n){for(var r=0,o=0;0===r&&o=0?t.length-e:0,t)})},function(e,t,n){var r=n(0);e.exports=r(function(e,t){for(var n=t.length-1;n>=0&&e(t[n]);)n-=1;return Array.prototype.slice.call(t,n+1)})},function(e,t,n){var r=n(0),o=n(5),i=n(364);e.exports=r(o(["takeWhile"],i,function(e,t){for(var n=0,r=t.length;n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(t.type===f("SET_LAYOUT"))return t.payload;if(a(t.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE",f("ON_PROP_CHANGE")])){var n=o("props",t.payload.itempath),r=c(u(n),e),l=s(r,t.payload.props);return e=i(n,l,e)}return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(397).DepGraph,o={};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=arguments[1];switch(t.type){case"COMPUTE_GRAPHS":var n=t.payload,i=new r,a=new r;return n.forEach(function(e){var t=e.output,n=e.inputs,r=e.events,o=t.id+"."+t.property;n.forEach(function(e){var t=e.id+"."+e.property;i.addNode(o),i.addNode(t),i.addDependency(t,o)}),r.forEach(function(e){var t=e.id+"."+e.event;a.addNode(o),a.addNode(t),a.addDependency(t,o)})}),{InputGraph:i,EventGraph:a};default:return e}}},function(e,t){function n(e,t,n){var r=[],o={};return function i(a){o[a]=!0,r.push(a),e[a].forEach(function(e){if(o[e]){if(r.indexOf(e)>=0)throw r.push(e),new Error("Dependency Cycle Found: "+r.join(" -> "))}else i(e)}),r.pop(),t&&0!==e[a].length||-1!==n.indexOf(a)||n.push(a)}}(t.DepGraph=function(){this.nodes={},this.outgoingEdges={},this.incomingEdges={}}).prototype={addNode:function(e,t){this.hasNode(e)||(2===arguments.length?this.nodes[e]=t:this.nodes[e]=e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach(function(t){Object.keys(t).forEach(function(n){var r=t[n].indexOf(e);r>=0&&t[n].splice(r,1)},this)}))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var n;this.hasNode(e)&&(n=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(n,1),this.hasNode(t)&&(n=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(n,1)},dependenciesOf:function(e,t){if(this.hasNode(e)){var r=[];n(this.outgoingEdges,t,r)(e);var o=r.indexOf(e);return o>=0&&r.splice(o,1),r}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var r=[];n(this.incomingEdges,t,r)(e);var o=r.indexOf(e);return o>=0&&r.splice(o,1),r}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,r=[],o=Object.keys(this.nodes);if(0===o.length)return r;var i=n(this.outgoingEdges,!1,[]);o.forEach(function(e){i(e)});var a=n(this.outgoingEdges,e,r);return o.filter(function(e){return 0===t.incomingEdges[e].length}).forEach(function(e){a(e)}),r}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133),o=r.crawlLayout,i=r.hasId,a=function(e){return e&&e.__esModule?e:{default:e}}(n(7)).default,u=n(35).ACTIONS;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];switch(t.type){case u("COMPUTE_PATHS"):var n=t.payload,r=n.subTree,s=n.startingPath;a.isNil(e)&&(e={});var c=void 0;if(a.isEmpty(s))c=a.merge({},e);else{var f=a.filter(function(t){return a.equals(s,a.slice(0,s.length,e[t]))},a.keys(e));c=a.omit(f,e)}return o(r,function(e,t){i(e)&&(c[e.props.id]=a.concat(s,t))}),c;default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(7).clone;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];switch(t.type){case"SET_REQUEST_QUEUE":return r(t.payload);default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(35).ACTIONS,o=n(69).APP_STATES;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o("STARTED"),t=arguments[1];switch(t.type){case r("SET_APP_LIFECYCLE"):return o(t.payload);default:return e}}},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:o;switch(arguments[1].type){case"UNDO":var t=e.past,n=e.present,i=e.future,a=t[t.length-1];return{past:t.slice(0,t.length-1),present:a,future:[n].concat(r(i))};case"REDO":var u=e.past,s=e.present,c=e.future,f=c[0],l=c.slice(1);return{past:[].concat(r(u),[s]),present:f,future:l};default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loginRequest=t.layoutRequest=t.dependenciesRequest=void 0;var r=n(7),o=r.assoc,i=r.assocPath,a=r.merge;function u(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1],r=t;if(n.type===e){var u=n.payload;r=Array.isArray(u.id)?i(u.id,{status:u.status,content:u.content},t):u.id?o(u.id,{status:u.status,content:u.content},t):a(t,{status:u.status,content:u.content})}return r}}t.dependenciesRequest=u("dependenciesRequest"),t.layoutRequest=u("layoutRequest"),t.loginRequest=u("loginRequest")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return arguments[1].type===r("READ_CONFIG")?JSON.parse(document.getElementById("_dash-config").textContent):e};var r=n(35).ACTIONS},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.defaults=void 0;var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=r({},a.default,e),n=t.logger,u=t.transformer,s=t.stateTransformer,c=t.errorTransformer,f=t.predicate,l=t.logErrors,p=t.diffPredicate;if(void 0===n)return function(){return function(e){return function(t){return e(t)}}};if(u&&console.error("Option 'transformer' is deprecated, use 'stateTransformer' instead!"),e.getState&&e.dispatch)return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n\n\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\n\nconst logger = createLogger({\n // ...options\n});\n\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"),function(){return function(e){return function(t){return e(t)}}};var d=[];return function(e){var n=e.getState;return function(e){return function(a){if("function"==typeof f&&!f(n,a))return e(a);var u={};d.push(u),u.started=i.timer.now(),u.startedTime=new Date,u.prevState=s(n()),u.action=a;var h=void 0;if(l)try{h=e(a)}catch(e){u.error=c(e)}else h=e(a);u.took=i.timer.now()-u.started,u.nextState=s(n());var y=t.diff&&"function"==typeof p?p(n,a):t.diff;if((0,o.printBuffer)(d,r({},t,{diff:y})),d.length=0,u.error)throw u.error;return h}}}}var s=u();t.defaults=a.default,t.logger=s,t.default=u,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.printBuffer=function(e,t){var n=t.logger,r=t.actionTransformer,u=t.titleFormatter,s=void 0===u?function(e){var t=e.timestamp,n=e.duration;return function(e,r,o){var i=["action"];return i.push("%c"+String(e.type)),t&&i.push("%c@ "+r),n&&i.push("%c(in "+o.toFixed(2)+" ms)"),i.join(" ")}}(t):u,c=t.collapsed,f=t.colors,l=t.level,p=t.diff;e.forEach(function(u,d){var h=u.started,y=u.startedTime,v=u.action,m=u.prevState,g=u.error,b=u.took,x=u.nextState,w=e[d+1];w&&(x=w.prevState,b=w.started-h);var _=r(v),O="function"==typeof c?c(function(){return x},v,u):c,S=(0,o.formatTime)(y),k=f.title?"color: "+f.title(_)+";":"",j=["color: gray; font-weight: lighter;"];j.push(k),t.timestamp&&j.push("color: gray; font-weight: lighter;"),t.duration&&j.push("color: gray; font-weight: lighter;");var P=s(_,S,b);try{O?f.title?n.groupCollapsed.apply(n,["%c "+P].concat(j)):n.groupCollapsed(P):f.title?n.group.apply(n,["%c "+P].concat(j)):n.group(P)}catch(e){n.log(P)}var E=a(l,_,[m],"prevState"),C=a(l,_,[_],"action"),A=a(l,_,[g,m],"error"),M=a(l,_,[x],"nextState");E&&(f.prevState?n[E]("%c prev state","color: "+f.prevState(m)+"; font-weight: bold",m):n[E]("prev state",m)),C&&(f.action?n[C]("%c action ","color: "+f.action(_)+"; font-weight: bold",_):n[C]("action ",_)),g&&A&&(f.error?n[A]("%c error ","color: "+f.error(g,m)+"; font-weight: bold;",g):n[A]("error ",g)),M&&(f.nextState?n[M]("%c next state","color: "+f.nextState(x)+"; font-weight: bold",x):n[M]("next state",x)),p&&(0,i.default)(m,x,n,O);try{n.groupEnd()}catch(e){n.log("—— log end ——")}})};var o=n(134),i=function(e){return e&&e.__esModule?e:{default:e}}(n(406));function a(e,t,n,o){switch(void 0===e?"undefined":r(e)){case"object":return"function"==typeof e[o]?e[o].apply(e,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t-1&&e%1==0&&e<=r}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?s.call(e):"";return t==o||t==i}(e)}(e)}(e)&&u.call(e,"callee")&&(!c.call(e,"callee")||s.call(e)==n)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,o){for(var i=0,a=e.length;i0&&(u[s]=f)}else{var h=(0,o.default)(r,s,c,u,t);h&&(u[s]=h),u=(0,n.default)(t,s,u)}}return u}};var n=u(r(433)),o=u(r(141)),i=u(r(142)),a=u(r(143));function u(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=r.userAgent||n,this._keepUnprefixed=r.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,o.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,i.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var a=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(a){for(var u in this._requiresPrefix={},a)a[u]>=this._browserInfo.browserVersion&&(this._requiresPrefix[u]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return n(e,[{key:"prefix",value:function(e){return this._useFallback?f(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:"_prefixStyle",value:function(e){for(var t in e){var n=e[t];if((0,s.default)(n))e[t]=this.prefix(n);else if(Array.isArray(n)){for(var o=[],i=0,f=n.length;i0&&(e[t]=o)}else{var p=(0,c.default)(r,t,n,e,this._metaData);p&&(e[t]=p),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,a.default)(t)]=n,this._keepUnprefixed||delete e[t])}}return e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}()};var o=f(r(434)),i=f(r(437)),a=f(r(71)),u=f(r(142)),s=f(r(143)),c=f(r(141));function f(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,r){"use strict";var n=r(149),o=r.n(n),i=r(150),a=r.n(i),u=r(151),s=r.n(u),c=r(152),f=r.n(c),l=r(153),p=r.n(l),d=r(154),h=r.n(d),y=r(155),v=r.n(y),m=r(156),g=r.n(m),b=r(157),x=r.n(b),w=r(158),_=r.n(w),O=r(159),S=r.n(O),k=r(160),P=r.n(k),j=["Webkit"],E=["Moz"],A=["ms"],T=["Webkit","Moz"],C=["Webkit","ms"],M=["Webkit","Moz","ms"];t.a={plugins:[o.a,a.a,s.a,f.a,p.a,h.a,v.a,g.a,x.a,_.a,S.a,P.a],prefixMap:{transform:C,transformOrigin:C,transformOriginX:C,transformOriginY:C,backfaceVisibility:j,perspective:j,perspectiveOrigin:j,transformStyle:j,transformOriginZ:j,animation:j,animationDelay:j,animationDirection:j,animationFillMode:j,animationDuration:j,animationIterationCount:j,animationName:j,animationPlayState:j,animationTimingFunction:j,appearance:T,userSelect:M,fontKerning:j,textEmphasisPosition:j,textEmphasis:j,textEmphasisStyle:j,textEmphasisColor:j,boxDecorationBreak:j,clipPath:j,maskImage:j,maskMode:j,maskRepeat:j,maskPosition:j,maskClip:j,maskOrigin:j,maskSize:j,maskComposite:j,mask:j,maskBorderSource:j,maskBorderMode:j,maskBorderSlice:j,maskBorderWidth:j,maskBorderOutset:j,maskBorderRepeat:j,maskBorder:j,maskType:j,textDecorationStyle:T,textDecorationSkip:T,textDecorationLine:T,textDecorationColor:T,filter:j,fontFeatureSettings:T,breakAfter:M,breakBefore:M,breakInside:M,columnCount:T,columnFill:T,columnGap:T,columnRule:T,columnRuleColor:T,columnRuleStyle:T,columnRuleWidth:T,columns:T,columnSpan:T,columnWidth:T,writingMode:C,flex:C,flexBasis:j,flexDirection:C,flexGrow:j,flexFlow:C,flexShrink:j,flexWrap:C,alignContent:j,alignItems:j,alignSelf:j,justifyContent:j,order:j,transitionDelay:j,transitionDuration:j,transitionProperty:j,transitionTimingFunction:j,backdropFilter:j,scrollSnapType:C,scrollSnapPointsX:C,scrollSnapPointsY:C,scrollSnapDestination:C,scrollSnapCoordinate:C,shapeImageThreshold:j,shapeImageMargin:j,shapeImageOutside:j,hyphens:M,flowInto:C,flowFrom:C,regionFragment:C,boxSizing:E,textAlignLast:E,tabSize:E,wrapFlow:A,wrapThrough:A,wrapMargin:A,touchAction:A,gridTemplateColumns:A,gridTemplateRows:A,gridTemplateAreas:A,gridTemplate:A,gridAutoColumns:A,gridAutoRows:A,gridAutoFlow:A,grid:A,gridRowStart:A,gridColumnStart:A,gridRowEnd:A,gridRow:A,gridColumn:A,gridColumnEnd:A,gridColumnGap:A,gridRowGap:A,gridArea:A,gridGap:A,textSizeAdjust:C,borderImage:j,borderImageOutset:j,borderImageRepeat:j,borderImageSlice:j,borderImageSource:j,borderImageWidth:j}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,n.default)(t)&&t.indexOf("calc(")>-1)return o.map(function(e){return t.replace(/calc\(/g,e+"calc(")})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(25));var o=["-webkit-","-moz-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,n.default)(t)&&t.indexOf("cross-fade(")>-1)return o.map(function(e){return t.replace(/cross-fade\(/g,e+"cross-fade(")})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("cursor"===e&&o.hasOwnProperty(t))return n.map(function(e){return e+t})};var n=["-webkit-","-moz-",""],o={"zoom-in":!0,"zoom-out":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,n.default)(t)&&t.indexOf("filter(")>-1)return o.map(function(e){return t.replace(/filter\(/g,e+"filter(")})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("display"===e&&n.hasOwnProperty(t))return n[t]};var n={flex:["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex","flex"],"inline-flex":["-webkit-inline-box","-moz-inline-box","-ms-inline-flexbox","-webkit-inline-flex","inline-flex"]};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end"},o={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal");o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},o={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,n.default)(t)&&i.test(t))return o.map(function(e){return t.replace(i,function(t){return e+t})})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(25));var o=["-webkit-","-moz-",""],i=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,n.default)(t)&&t.indexOf("image-set(")>-1)return o.map(function(e){return t.replace(/image-set\(/g,e+"image-set(")})};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(25));var o=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("position"===e&&"sticky"===t)return["-webkit-sticky","sticky"]},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return n.map(function(e){return e+t})};var n=["-webkit-","-moz-",""],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){if("string"==typeof t&&u.hasOwnProperty(e)){var c=function(e,t){if((0,o.default)(e))return e;for(var r=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g),i=0,a=r.length;i-1&&"order"!==l)for(var p=t[f],d=0,h=p.length;d-1)return f;var l=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return!/-webkit-|-ms-/.test(e)}).join(",");return e.indexOf("Moz")>-1?l:(r["Webkit"+(0,i.default)(e)]=f,r["Moz"+(0,i.default)(e)]=l,c)}};var n=a(r(144)),o=a(r(25)),i=a(r(71));function a(e){return e&&e.__esModule?e:{default:e}}var u={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-"};e.exports=t.default},function(e,t,r){"use strict";var n=r(162),o=r.n(n),i=r(163),a=r.n(i),u=r(164),s=r.n(u),c=r(165),f=r.n(c),l=r(166),p=r.n(l),d=r(167),h=r.n(d),y=r(168),v=r.n(y),m=r(169),g=r.n(m),b=r(170),x=r.n(b),w=r(171),_=r.n(w),O=r(172),S=r.n(O),k=r(173),P=r.n(k);t.a={plugins:[o.a,a.a,s.a,f.a,p.a,h.a,v.a,g.a,x.a,_.a,S.a,P.a],prefixMap:{chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:66,userSelect:53,fontKerning:32,textEmphasisPosition:66,textEmphasis:66,textEmphasisStyle:66,textEmphasisColor:66,boxDecorationBreak:66,clipPath:54,maskImage:66,maskMode:66,maskRepeat:66,maskPosition:66,maskClip:66,maskOrigin:66,maskSize:66,maskComposite:66,mask:66,maskBorderSource:66,maskBorderMode:66,maskBorderSlice:66,maskBorderWidth:66,maskBorderOutset:66,maskBorderRepeat:66,maskBorder:66,maskType:66,textDecorationStyle:56,textDecorationSkip:56,textDecorationLine:56,textDecorationColor:56,filter:52,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49,writingMode:47},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:11,userSelect:11,backdropFilter:11,fontKerning:9,scrollSnapType:10.1,scrollSnapPointsX:10.1,scrollSnapPointsY:10.1,scrollSnapDestination:10.1,scrollSnapCoordinate:10.1,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:11,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8,writingMode:10.1},firefox:{appearance:60,userSelect:60,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:60,hyphens:42,fontFeatureSettings:33,breakAfter:51,breakBefore:51,breakInside:51,columnCount:51,columnFill:51,columnGap:51,columnRule:51,columnRuleColor:51,columnRuleStyle:51,columnRuleWidth:51,columns:51,columnSpan:51,columnWidth:51},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:50,userSelect:40,fontKerning:19,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:41,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:43,textDecorationSkip:43,textDecorationLine:43,textDecorationColor:43,filter:39,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36,writingMode:34},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11,writingMode:11},edge:{userSelect:17,wrapFlow:17,wrapThrough:17,wrapMargin:17,scrollSnapType:17,scrollSnapPointsX:17,scrollSnapPointsY:17,scrollSnapDestination:17,scrollSnapCoordinate:17,hyphens:17,flowInto:17,flowFrom:17,breakBefore:17,breakAfter:17,breakInside:17,regionFragment:17,gridTemplateColumns:15,gridTemplateRows:15,gridTemplateAreas:15,gridTemplate:15,gridAutoColumns:15,gridAutoRows:15,gridAutoFlow:15,grid:15,gridRowStart:15,gridColumnStart:15,gridRowEnd:15,gridRow:15,gridColumn:15,gridColumnEnd:15,gridColumnGap:15,gridRowGap:15,gridArea:15,gridGap:15},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:11,userSelect:11,backdropFilter:11,fontKerning:11,scrollSnapType:10.3,scrollSnapPointsX:10.3,scrollSnapPointsY:10.3,scrollSnapDestination:10.3,scrollSnapCoordinate:10.3,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textSizeAdjust:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:11,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1,writingMode:10.3},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:62,userSelect:4.4,fontKerning:4.4,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,clipPath:4.4,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62,filter:4.4,fontFeatureSettings:4.4,breakAfter:4.4,breakBefore:4.4,breakInside:4.4,columnCount:4.4,columnFill:4.4,columnGap:4.4,columnRule:4.4,columnRuleColor:4.4,columnRuleStyle:4.4,columnRuleWidth:4.4,columns:4.4,columnSpan:4.4,columnWidth:4.4,writingMode:4.4},and_chr:{appearance:62,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62},and_uc:{flex:11.4,flexBasis:11.4,flexDirection:11.4,flexGrow:11.4,flexFlow:11.4,flexShrink:11.4,flexWrap:11.4,alignContent:11.4,alignItems:11.4,alignSelf:11.4,justifyContent:11.4,order:11.4,transform:11.4,transformOrigin:11.4,transformOriginX:11.4,transformOriginY:11.4,backfaceVisibility:11.4,perspective:11.4,perspectiveOrigin:11.4,transformStyle:11.4,transformOriginZ:11.4,animation:11.4,animationDelay:11.4,animationDirection:11.4,animationFillMode:11.4,animationDuration:11.4,animationIterationCount:11.4,animationName:11.4,animationPlayState:11.4,animationTimingFunction:11.4,appearance:11.4,userSelect:11.4,textEmphasisPosition:11.4,textEmphasis:11.4,textEmphasisStyle:11.4,textEmphasisColor:11.4,clipPath:11.4,maskImage:11.4,maskMode:11.4,maskRepeat:11.4,maskPosition:11.4,maskClip:11.4,maskOrigin:11.4,maskSize:11.4,maskComposite:11.4,mask:11.4,maskBorderSource:11.4,maskBorderMode:11.4,maskBorderSlice:11.4,maskBorderWidth:11.4,maskBorderOutset:11.4,maskBorderRepeat:11.4,maskBorder:11.4,maskType:11.4,textSizeAdjust:11.4,filter:11.4,hyphens:11.4,fontFeatureSettings:11.4,breakAfter:11.4,breakBefore:11.4,breakInside:11.4,columnCount:11.4,columnFill:11.4,columnGap:11.4,columnRule:11.4,columnRuleColor:11.4,columnRuleStyle:11.4,columnRuleWidth:11.4,columns:11.4,columnSpan:11.4,columnWidth:11.4,writingMode:11.4},op_mini:{}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("calc(")>-1&&("firefox"===i&&a<15||"chrome"===i&&a<25||"safari"===i&&a<6.1||"ios_saf"===i&&a<7))return(0,n.default)(t.replace(/calc\(/g,u+"calc("),t,s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("cross-fade(")>-1&&("chrome"===i||"opera"===i||"and_chr"===i||("ios_saf"===i||"safari"===i)&&a<10))return(0,n.default)(t.replace(/cross-fade\(/g,u+"cross-fade("),t,s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){var u=a.browserName,s=a.browserVersion,c=a.cssPrefix,f=a.keepUnprefixed;if("cursor"===e&&o[t]&&("firefox"===u||"chrome"===u||"safari"===u||"opera"===u))return(0,n.default)(c+t,t,f);if("cursor"===e&&i[t]&&("firefox"===u&&s<24||"chrome"===u&&s<37||"safari"===u&&s<9||"opera"===u&&s<24))return(0,n.default)(c+t,t,f)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o={grab:!0,grabbing:!0},i={"zoom-in":!0,"zoom-out":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o){var i=o.browserName,a=o.browserVersion,u=o.cssPrefix,s=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("filter(")>-1&&("ios_saf"===i||"safari"===i&&a<9.1))return(0,n.default)(t.replace(/filter\(/g,u+"filter("),t,s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,i){var a=i.browserName,u=i.browserVersion,s=i.cssPrefix,c=i.keepUnprefixed;if("display"===e&&o[t]&&("chrome"===a&&u<29&&u>20||("safari"===a||"ios_saf"===a)&&u<9&&u>6||"opera"===a&&(15===u||16===u)))return(0,n.default)(s+t,t,c)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o={flex:!0,"inline-flex":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){var u=a.browserName,s=a.browserVersion,c=a.cssPrefix,f=a.keepUnprefixed,l=a.requiresPrefix;if((i.hasOwnProperty(e)||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("ie_mob"===u||"ie"===u)&&10===s){if(delete l[e],f||Array.isArray(r[e])||delete r[e],"display"===e&&o.hasOwnProperty(t))return(0,n.default)(c+o[t],t,f);i.hasOwnProperty(e)&&(r[i[e]]=o[t]||t)}};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},i={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,u){var s=u.browserName,c=u.browserVersion,f=u.cssPrefix,l=u.keepUnprefixed,p=u.requiresPrefix;if((a.indexOf(e)>-1||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("firefox"===s&&c<22||"chrome"===s&&c<21||("safari"===s||"ios_saf"===s)&&c<=6.1||"android"===s&&c<4.4||"and_uc"===s)){if(delete p[e],l||Array.isArray(r[e])||delete r[e],"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal"),"display"===e&&o.hasOwnProperty(t))return(0,n.default)(f+o[t],t,l);i.hasOwnProperty(e)&&(r[i[e]]=o[t]||t)}};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},i={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"},a=Object.keys(i).concat(["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"]);e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,i){var a=i.browserName,u=i.browserVersion,s=i.cssPrefix,c=i.keepUnprefixed;if("string"==typeof t&&o.test(t)&&("firefox"===a&&u<16||"chrome"===a&&u<26||("safari"===a||"ios_saf"===a)&&u<7||("opera"===a||"op_mini"===a)&&u<12.1||"android"===a&&u<4.4||"and_uc"===a))return(0,n.default)(t.replace(o,function(e){return s+e}),t,c)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o){var i=o.browserName,a=o.cssPrefix,u=o.keepUnprefixed;if("string"==typeof t&&t.indexOf("image-set(")>-1&&("chrome"===i||"opera"===i||"and_chr"===i||"and_uc"===i||"ios_saf"===i||"safari"===i))return(0,n.default)(t.replace(/image-set\(/g,a+"image-set("),t,u)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o){var i=o.browserName,a=o.cssPrefix,u=o.keepUnprefixed;if("position"===e&&"sticky"===t&&("safari"===i||"ios_saf"===i))return(0,n.default)(a+t,t,u)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){var u=a.cssPrefix,s=a.keepUnprefixed;if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return(0,n.default)(u+t,t,s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(13));var o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){var u=a.cssPrefix,s=a.keepUnprefixed,c=a.requiresPrefix;if("string"==typeof t&&o.hasOwnProperty(e)){i||(i=Object.keys(c).map(function(e){return(0,n.default)(e)}));var f=t.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return i.forEach(function(e){f.forEach(function(t,r){t.indexOf(e)>-1&&"order"!==e&&(f[r]=t.replace(e,u+e)+(s?","+t:""))})}),f.join(",")}};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(144));var o={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},i=void 0;e.exports=t.default},function(e,t,r){r(175),e.exports=r(176)},function(e,t){!function(e){"use strict";if(!e.fetch){var t={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=function(e){return e&&DataView.prototype.isPrototypeOf(e)},o=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};f.prototype.append=function(e,t){e=u(e),t=s(t);var r=this.map[e];this.map[e]=r?r+","+t:t},f.prototype.delete=function(e){delete this.map[u(e)]},f.prototype.get=function(e){return e=u(e),this.has(e)?this.map[e]:null},f.prototype.has=function(e){return this.map.hasOwnProperty(u(e))},f.prototype.set=function(e,t){this.map[u(e)]=s(t)},f.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},f.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),c(e)},f.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),c(e)},f.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),c(e)},t.iterable&&(f.prototype[Symbol.iterator]=f.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},y.call(v.prototype),y.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},g.error=function(){var e=new g(null,{status:0,statusText:""});return e.type="error",e};var a=[301,302,303,307,308];g.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError("Invalid status code");return new g(null,{status:t,headers:{location:e}})},e.Headers=f,e.Request=v,e.Response=g,e.fetch=function(e,r){return new Promise(function(n,o){var i=new v(e,r),a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:function(e){var t=new f;return e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}}),t}(a.getAllResponseHeaders()||"")};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var t="response"in a?a.response:a.responseText;n(new g(t,e))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),i.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function s(e){return"string"!=typeof e&&(e=String(e)),e}function c(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function f(e){this.map={},e instanceof f?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function l(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function d(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function h(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(t.arrayBuffer&&t.blob&&n(e))this._bodyArrayBuffer=h(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!t.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!o(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=h(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,r=p(t);return t.readAsText(e),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}}),t}function g(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)},function(e,t,r){"use strict";var n=a(r(3)),o=a(r(177)),i=a(r(178));function a(e){return e&&e.__esModule?e:{default:e}}o.default.render(n.default.createElement(i.default,null),document.getElementById("react-entry-point"))},function(e,t){e.exports=window.ReactDOM},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(r(3)),o=r(18),i=u(r(199)),a=u(r(410));function u(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.default)();t.default=function(){return n.default.createElement(o.Provider,{store:s},n.default.createElement(a.default,null))}},function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(3),o=a(r(4)),i=a(r(74));a(r(75));function a(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r,n));return o.store=r.store,o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return n.Children.only(this.props.children)},t}(n.Component);t.default=u,u.propTypes={store:i.default.isRequired,children:o.default.element.isRequired},u.childContextTypes={store:i.default.isRequired}},function(e,t,r){"use strict";var n=r(181);function o(){}e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return r.checkPropTypes=o,r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,r){"use strict";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{},v=Boolean(e),m=e||l,g=void 0;g="function"==typeof t?t:t?(0,u.default)(t):p;var b=r||d,x=f.pure,w=void 0===x||x,_=f.withRef,O=void 0!==_&&_,S=w&&b!==d,k=y++;return function(e){var t="Connect("+function(e){return e.displayName||e.name||"Component"}(e)+")";var r=function(r){function i(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,r.call(this,e,n));o.version=k,o.store=e.store||n.store,(0,c.default)(o.store,'Could not find "store" in either the context or props of "'+t+'". Either wrap the root component in a , or explicitly pass "store" as a prop to "'+t+'".');var a=o.store.getState();return o.state={storeState:a},o.clearCache(),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,r),i.prototype.shouldComponentUpdate=function(){return!w||this.haveOwnPropsChanged||this.hasStoreStateChanged},i.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var r=e.getState(),n=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(r,t):this.finalMapStateToProps(r);return n},i.prototype.configureFinalMapState=function(e,t){var r=m(e.getState(),t),n="function"==typeof r;return this.finalMapStateToProps=n?r:m,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,n?this.computeStateProps(e,t):r},i.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var r=e.dispatch,n=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(r,t):this.finalMapDispatchToProps(r);return n},i.prototype.configureFinalMapDispatch=function(e,t){var r=g(e.dispatch,t),n="function"==typeof r;return this.finalMapDispatchToProps=n?r:g,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,n?this.computeDispatchProps(e,t):r},i.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,a.default)(e,this.stateProps))&&(this.stateProps=e,!0)},i.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,a.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},i.prototype.updateMergedPropsIfNeeded=function(){var e=function(e,t,r){var n=b(e,t,r);0;return n}(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&S&&(0,a.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},i.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},i.prototype.trySubscribe=function(){v&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},i.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},i.prototype.componentDidMount=function(){this.trySubscribe()},i.prototype.componentWillReceiveProps=function(e){w&&(0,a.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},i.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},i.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},i.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!w||t!==e){if(w&&!this.doStatePropsDependOnOwnProps){var r=function(e,t){try{return e.apply(t)}catch(e){return h.value=e,h}}(this.updateStatePropsIfNeeded,this);if(!r)return;r===h&&(this.statePropsPrecalculationError=h.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},i.prototype.getWrappedInstance=function(){return(0,c.default)(O,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},i.prototype.render=function(){var t=this.haveOwnPropsChanged,r=this.hasStoreStateChanged,i=this.haveStatePropsBeenPrecalculated,a=this.statePropsPrecalculationError,u=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,a)throw a;var s=!0,c=!0;w&&u&&(s=r||t&&this.doStatePropsDependOnOwnProps,c=t&&this.doDispatchPropsDependOnOwnProps);var f=!1,l=!1;i?f=!0:s&&(f=this.updateStatePropsIfNeeded()),c&&(l=this.updateDispatchPropsIfNeeded());return!(!!(f||l||t)&&this.updateMergedPropsIfNeeded())&&u?u:(this.renderedElement=O?(0,o.createElement)(e,n({},this.mergedProps,{ref:"wrappedInstance"})):(0,o.createElement)(e,this.mergedProps),this.renderedElement)},i}(o.Component);return r.displayName=t,r.WrappedComponent=e,r.contextTypes={store:i.default},r.propTypes={store:i.default},(0,s.default)(r,e)}};var o=r(3),i=f(r(74)),a=f(r(183)),u=f(r(184)),s=(f(r(75)),f(r(188)),f(r(197))),c=f(r(198));function f(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return{}},p=function(e){return{dispatch:e}},d=function(e,t,r){return n({},r,e,t)};var h={value:null};var y=0},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e,t){if(e===t)return!0;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i0&&(f.props[e]=(0,n.view)((0,n.lensPath)((0,n.concat)(u[l],["props",e])),a))})}return f}t.default=function(e){return function(t,r){if("ON_PROP_CHANGE"===r.type&&o.default.isEmpty(t.history.present)){var n=r.payload,i=v(n.itempath,n.props,t);i&&!o.default.isEmpty(i.props)&&(t.history.present=i)}var a=e(t,r);if("ON_PROP_CHANGE"===r.type&&"response"!==r.payload.source){var u=r.payload,s=v(u.itempath,u.props,a);s&&!o.default.isEmpty(s.props)&&(a.history={past:[].concat(function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=0?n:0);ro?1:0})},function(e,t,r){var n=r(1),o=r(42);e.exports=n(function(e){return o(2,e)})},function(e,t,r){var n=r(0),o=r(43),i=r(81),a=r(44);e.exports=n(function(e,t){return o(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:a(i)(e,t)})},function(e,t,r){var n=r(45);e.exports=n(function(e){return e.apply(this,Array.prototype.slice.call(arguments,1))})},function(e,t,r){var n=r(0),o=r(221),i=r(10);e.exports=n(function(e,t){return i(e,o(t))})},function(e,t,r){var n=r(222),o=r(11),i=r(6),a=r(29);e.exports=function(e){var t=function(e){return{"@@transducer/init":i.init,"@@transducer/result":function(t){return e["@@transducer/result"](t)},"@@transducer/step":function(t,r){var o=e["@@transducer/step"](t,r);return o["@@transducer/reduced"]?n(o):o}}}(e);return{"@@transducer/init":i.init,"@@transducer/result":function(e){return t["@@transducer/result"](e)},"@@transducer/step":function(e,r){return a(r)?o(t,e,r):o(t,e,[r])}}}},function(e,t){e.exports=function(e){return{"@@transducer/value":e,"@@transducer/reduced":!0}}},function(e,t,r){var n=r(2);e.exports=n(function(e,t,r){if(e>t)throw new Error("min must not be greater than max in clamp(min, max, value)");return rt?t:r})},function(e,t,r){var n=r(90),o=r(1);e.exports=o(function(e){return null!=e&&"function"==typeof e.clone?e.clone():n(e,[],[],!0)})},function(e,t,r){var n=r(1);e.exports=n(function(e){return function(t,r){return e(t,r)?-1:e(r,t)?1:0}})},function(e,t,r){var n=r(44),o=r(92);e.exports=n(o)},function(e,t){e.exports=function(e,t){return function(){return t.call(this,e.apply(this,arguments))}}},function(e,t,r){var n=r(95),o=r(46);e.exports=function(){if(0===arguments.length)throw new Error("composeP requires at least one argument");return n.apply(this,o(arguments))}},function(e,t){e.exports=function(e,t){return function(){var r=this;return e.apply(r,arguments).then(function(e){return t.call(r,e)})}}},function(e,t,r){var n=r(22),o=r(39),i=r(234),a=r(235),u=r(15),s=r(47);e.exports=function e(t,r){var c=function(o){var i=r.concat([t]);return n(o,i)?"":e(o,i)},f=function(e,t){return o(function(t){return i(t)+": "+c(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+o(c,t).join(", ")+"))";case"[object Array]":return"["+o(c,t).concat(f(t,s(function(e){return/^\d+$/.test(e)},u(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+c(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?c(NaN):i(a(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+c(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+c(t.valueOf())+")":i(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var l=t.toString();if("[object Object]"!==l)return l}return"{"+f(t,u(t)).join(", ")+"}"}}},function(e,t,r){var n=r(232),o=r(233),i=r(9),a=r(97),u=r(15),s=r(58);e.exports=function e(t,r,c,f){if(a(t,r))return!0;if(s(t)!==s(r))return!1;if(null==t||null==r)return!1;if("function"==typeof t.equals||"function"==typeof r.equals)return"function"==typeof t.equals&&t.equals(r)&&"function"==typeof r.equals&&r.equals(t);switch(s(t)){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===o(t.constructor))return t===r;break;case"Boolean":case"Number":case"String":if(typeof t!=typeof r||!a(t.valueOf(),r.valueOf()))return!1;break;case"Date":if(!a(t.valueOf(),r.valueOf()))return!1;break;case"Error":return t.name===r.name&&t.message===r.message;case"RegExp":if(t.source!==r.source||t.global!==r.global||t.ignoreCase!==r.ignoreCase||t.multiline!==r.multiline||t.sticky!==r.sticky||t.unicode!==r.unicode)return!1;break;case"Map":case"Set":if(!e(n(t.entries()),n(r.entries()),c,f))return!1;break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var l=u(t);if(l.length!==u(r).length)return!1;for(var p=c.length-1;p>=0;){if(c[p]===t)return f[p]===r;p-=1}for(c.push(t),f.push(r),p=l.length-1;p>=0;){var d=l[p];if(!i(d,r)||!e(r[d],t[d],c,f))return!1;p-=1}return c.pop(),f.pop(),!0}},function(e,t){e.exports=function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}},function(e,t){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},function(e,t){e.exports=function(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}},function(e,t){e.exports=function(){var e=function(e){return(e<10?"0":"")+e};return"function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(t){return t.getUTCFullYear()+"-"+e(t.getUTCMonth()+1)+"-"+e(t.getUTCDate())+"T"+e(t.getUTCHours())+":"+e(t.getUTCMinutes())+":"+e(t.getUTCSeconds())+"."+(t.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}()},function(e,t,r){var n=r(0),o=r(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(14),o=r(1),i=r(10),a=r(24),u=r(16);e.exports=o(function(e){var t=u(a,0,i(function(e){return e[0].length},e));return n(t,function(){for(var t=0;to?-1:n0?(this.n-=1,e):this.xf["@@transducer/step"](e,t)},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(0),o=r(5),i=r(248),a=r(250);e.exports=n(o([],a,i))},function(e,t,r){var n=r(108);e.exports=function(e,t){return n(e=this.n?o(r):r},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(0),o=r(6);e.exports=function(){function e(e,t){this.xf=t,this.pos=0,this.full=!1,this.acc=new Array(e)}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.acc=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.full&&(e=this.xf["@@transducer/step"](e,this.acc[this.pos])),this.store(t),e},e.prototype.store=function(e){this.acc[this.pos]=e,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(0),o=r(5),i=r(252),a=r(253);e.exports=n(o([],a,i))},function(e,t){e.exports=function(e,t){for(var r=t.length-1;r>=0&&e(t[r]);)r-=1;return Array.prototype.slice.call(t,0,r+1)}},function(e,t,r){var n=r(0),o=r(11),i=r(6);e.exports=function(){function e(e,t){this.f=e,this.retained=[],this.xf=t}return e.prototype["@@transducer/init"]=i.init,e.prototype["@@transducer/result"]=function(e){return this.retained=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.retain(e,t):this.flush(e,t)},e.prototype.flush=function(e,t){return e=o(this.xf["@@transducer/step"],e,this.retained),this.retained=[],this.xf["@@transducer/step"](e,t)},e.prototype.retain=function(e,t){return this.retained.push(t),e},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(1),o=r(5),i=r(109),a=r(110),u=r(17);e.exports=n(o([],i(u),a(u)))},function(e,t,r){var n=r(0),o=r(5),i=r(256);e.exports=n(o(["dropWhile"],i,function(e,t){for(var r=0,n=t.length;r=0;){if(e(t[r]))return t[r];r-=1}}))},function(e,t,r){var n=r(0),o=r(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.last))},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.last=t),e},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(0),o=r(5),i=r(268);e.exports=n(o([],i,function(e,t){for(var r=t.length-1;r>=0;){if(e(t[r]))return r;r-=1}return-1}))},function(e,t,r){var n=r(0),o=r(6);e.exports=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),e},n(function(t,r){return new e(t,r)})}()},function(e,t,r){var n=r(1),o=r(89);e.exports=n(o(!0))},function(e,t,r){var n=r(30),o=r(0);e.exports=o(n("forEach",function(e,t){for(var r=t.length,n=0;nt})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return e>=t})},function(e,t,r){var n=r(0),o=r(9);e.exports=n(o)},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return e in t})},function(e,t,r){var n=r(32);e.exports=n(0)},function(e,t,r){var n=r(2),o=r(8);e.exports=n(function(e,t,r){return o(Math.max(e.length,t.length,r.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):r.apply(this,arguments)})})},function(e,t,r){var n=r(37);e.exports=n(1)},function(e,t,r){var n=r(48);e.exports=n(function(e,t){return t},null)},function(e,t,r){var n=r(0),o=r(96),i=r(19);e.exports=n(function(e,t){return"function"!=typeof t.indexOf||i(t)?o(t,e,0):t.indexOf(e)})},function(e,t,r){var n=r(21);e.exports=n(0,-1)},function(e,t,r){var n=r(2);e.exports=n(function(e,t,r){e=e=0?e:r.length;var n=Array.prototype.slice.call(r,0);return n.splice(e,0,t),n})},function(e,t,r){var n=r(2);e.exports=n(function(e,t,r){return e=e=0?e:r.length,[].concat(Array.prototype.slice.call(r,0,e),t,Array.prototype.slice.call(r,e))})},function(e,t,r){var n=r(22),o=r(0),i=r(99),a=r(49),u=r(66);e.exports=o(function(e,t){var r,o;return e.length>t.length?(r=e,o=t):(r=t,o=e),u(i(a(n)(r),o))})},function(e,t,r){var n=r(22);e.exports=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}function t(e,t,r){var o,i=typeof e;switch(i){case"string":case"number":return 0===e&&1/e==-1/0?!!r._items["-0"]||(t&&(r._items["-0"]=!0),!1):null!==r._nativeSet?t?(o=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===o):r._nativeSet.has(e):i in r._items?e in r._items[i]||(t&&(r._items[i][e]=!0),!1):(t&&(r._items[i]={},r._items[i][e]=!0),!1);case"boolean":if(i in r._items){var a=e?1:0;return!!r._items[i][a]||(t&&(r._items[i][a]=!0),!1)}return t&&(r._items[i]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?t?(o=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===o):r._nativeSet.has(e):i in r._items?!!n(e,r._items[i])||(t&&r._items[i].push(e),!1):(t&&(r._items[i]=[e]),!1);case"undefined":return!!r._items[i]||(t&&(r._items[i]=!0),!1);case"object":if(null===e)return!!r._items.null||(t&&(r._items.null=!0),!1);default:return(i=Object.prototype.toString.call(e))in r._items?!!n(e,r._items[i])||(t&&r._items[i].push(e),!1):(t&&(r._items[i]=[e]),!1)}}return e.prototype.add=function(e){return!t(e,!0,this)},e.prototype.has=function(e){return t(e,!1,this)},e}()},function(e,t,r){var n=r(63),o=r(2),i=r(67);e.exports=o(function(e,t,r){var o,a;t.length>r.length?(o=t,a=r):(o=r,a=t);for(var u=[],s=0;s=0;){if(i(t[r],e))return r;r-=1}return-1}return t.lastIndexOf(e)})},function(e,t,r){var n=r(1),o=r(50),i=r(32),a=r(120);e.exports=n(function(e){return o(i(e),a(e))})},function(e,t,r){var n=r(1),o=r(86),i=r(50),a=r(34);e.exports=n(function(e){return i(a(e),o(e))})},function(e,t,r){var n=r(1),o=r(41),i=r(50),a=r(55);e.exports=n(function(e){return i(a(e),o(e))})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return e=0;)i=e(r[n],i[0]),o[n]=i[1],n-=1;return[o,i[0]]})},function(e,t,r){var n=r(0),o=r(11),i=r(15);e.exports=n(function(e,t){return o(function(r,n){return r[n]=e(t[n],n,t),r},{},i(t))})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return t.match(e)||[]})},function(e,t,r){var n=r(0),o=r(87);e.exports=n(function(e,t){return o(e)?!o(t)||t<1?NaN:(e%t+t)%t:NaN})},function(e,t,r){var n=r(2);e.exports=n(function(e,t,r){return e(r)>e(t)?r:t})},function(e,t,r){var n=r(1),o=r(121);e.exports=n(function(e){var t=e.length;if(0===t)return NaN;var r=2-t%2,n=(t-r)/2;return o(Array.prototype.slice.call(e,0).sort(function(e,t){return et?1:0}).slice(n,n+r))})},function(e,t,r){var n=r(14),o=r(1),i=r(9),a=r(31);e.exports=o(function(e){var t={};return n(e.length,function(){var r=a(arguments);return i(r,t)||(t[r]=e.apply(this,arguments)),t[r]})})},function(e,t,r){var n=r(68),o=r(0);e.exports=o(function(e,t){return n({},e,t)})},function(e,t,r){var n=r(68),o=r(1);e.exports=o(function(e){return n.apply(null,[{}].concat(e))})},function(e,t,r){var n=r(2),o=r(123);e.exports=n(function(e,t,r){return o(function(t,r,n){return e(r,n)},t,r)})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return t0&&e(o(t,r))})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){for(var r={},n=0;no?1:0})})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){return Array.prototype.slice.call(t,0).sort(function(t,r){for(var n=0,o=0;0===n&&o=0?t.length-e:0,t)})},function(e,t,r){var n=r(0);e.exports=n(function(e,t){for(var r=t.length-1;r>=0&&e(t[r]);)r-=1;return Array.prototype.slice.call(t,r+1)})},function(e,t,r){var n=r(0),o=r(5),i=r(365);e.exports=n(o(["takeWhile"],i,function(e,t){for(var r=0,n=t.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(t.type===(0,o.getAction)("SET_LAYOUT"))return t.payload;if((0,n.contains)(t.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE",(0,o.getAction)("ON_PROP_CHANGE")])){var r=(0,n.append)("props",t.payload.itempath),i=(0,n.view)((0,n.lensPath)(r),e),a=(0,n.merge)(i,t.payload.props);return(0,n.assocPath)(r,a,e)}return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(398),o={};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=arguments[1];switch(t.type){case"COMPUTE_GRAPHS":var r=t.payload,i=new n.DepGraph,a=new n.DepGraph;return r.forEach(function(e){var t=e.output,r=e.inputs,n=e.events,o=t.id+"."+t.property;r.forEach(function(e){var t=e.id+"."+e.property;i.addNode(o),i.addNode(t),i.addDependency(t,o)}),n.forEach(function(e){var t=e.id+"."+e.event;a.addNode(o),a.addNode(t),a.addDependency(t,o)})}),{InputGraph:i,EventGraph:a};default:return e}}},function(e,t){function r(e,t,r){var n=[],o={};return function i(a){o[a]=!0,n.push(a),e[a].forEach(function(e){if(o[e]){if(n.indexOf(e)>=0)throw n.push(e),new Error("Dependency Cycle Found: "+n.join(" -> "))}else i(e)}),n.pop(),t&&0!==e[a].length||-1!==r.indexOf(a)||r.push(a)}}(t.DepGraph=function(){this.nodes={},this.outgoingEdges={},this.incomingEdges={}}).prototype={addNode:function(e,t){this.hasNode(e)||(2===arguments.length?this.nodes[e]=t:this.nodes[e]=e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach(function(t){Object.keys(t).forEach(function(r){var n=t[r].indexOf(e);n>=0&&t[r].splice(n,1)},this)}))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var r;this.hasNode(e)&&(r=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(r,1),this.hasNode(t)&&(r=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(r,1)},dependenciesOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.outgoingEdges,t,n)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.incomingEdges,t,n)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;var i=r(this.outgoingEdges,!1,[]);o.forEach(function(e){i(e)});var a=r(this.outgoingEdges,e,n);return o.filter(function(e){return 0===t.incomingEdges[e].length}).forEach(function(e){a(e)}),n}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(134),o=function(e){return e&&e.__esModule?e:{default:e}}(r(7)),i=r(35);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];switch(t.type){case(0,i.getAction)("COMPUTE_PATHS"):var r=t.payload,a=r.subTree,u=r.startingPath,s=e;o.default.isNil(e)&&(s={});var c=void 0;if(o.default.isEmpty(u))c=o.default.merge({},s);else{var f=o.default.filter(function(e){return o.default.equals(u,o.default.slice(0,u.length,s[e]))},o.default.keys(s));c=o.default.omit(f,s)}return(0,n.crawlLayout)(a,function(e,t){(0,n.hasId)(e)&&(c[e.props.id]=o.default.concat(u,t))}),c;default:return e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];switch(t.type){case"SET_REQUEST_QUEUE":return(0,n.clone)(t.payload);default:return e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(35),o=r(69);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,o.getAppState)("STARTED"),t=arguments[1];switch(t.type){case(0,n.getAction)("SET_APP_LIFECYCLE"):return(0,o.getAppState)(t.payload);default:return e}}},function(e,t,r){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:o;switch(arguments[1].type){case"UNDO":var t=e.past,r=e.present,i=e.future,a=t[t.length-1];return{past:t.slice(0,t.length-1),present:a,future:[r].concat(n(i))};case"REDO":var u=e.past,s=e.present,c=e.future,f=c[0],l=c.slice(1);return{past:[].concat(n(u),[s]),present:f,future:l};default:return e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loginRequest=t.layoutRequest=t.dependenciesRequest=void 0;var n=r(7);function o(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1],o=t;if(r.type===e){var i=r.payload;o=Array.isArray(i.id)?(0,n.assocPath)(i.id,{status:i.status,content:i.content},t):i.id?(0,n.assoc)(i.id,{status:i.status,content:i.content},t):(0,n.merge)(t,{status:i.status,content:i.content})}return o}}t.dependenciesRequest=o("dependenciesRequest"),t.layoutRequest=o("layoutRequest"),t.loginRequest=o("loginRequest")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(arguments[1].type===(0,n.getAction)("READ_CONFIG"))return JSON.parse(document.getElementById("_dash-config").textContent);return e};var n=r(35)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.defaults=void 0;var n=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=n({},a.default,e),r=t.logger,u=t.transformer,s=t.stateTransformer,c=t.errorTransformer,f=t.predicate,l=t.logErrors,p=t.diffPredicate;if(void 0===r)return function(){return function(e){return function(t){return e(t)}}};if(u&&console.error("Option 'transformer' is deprecated, use 'stateTransformer' instead!"),e.getState&&e.dispatch)return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n\n\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\n\nconst logger = createLogger({\n // ...options\n});\n\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"),function(){return function(e){return function(t){return e(t)}}};var d=[];return function(e){var r=e.getState;return function(e){return function(a){if("function"==typeof f&&!f(r,a))return e(a);var u={};d.push(u),u.started=i.timer.now(),u.startedTime=new Date,u.prevState=s(r()),u.action=a;var h=void 0;if(l)try{h=e(a)}catch(e){u.error=c(e)}else h=e(a);u.took=i.timer.now()-u.started,u.nextState=s(r());var y=t.diff&&"function"==typeof p?p(r,a):t.diff;if((0,o.printBuffer)(d,n({},t,{diff:y})),d.length=0,u.error)throw u.error;return h}}}}var s=u();t.defaults=a.default,t.logger=s,t.default=u,e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.printBuffer=function(e,t){var r=t.logger,n=t.actionTransformer,u=t.titleFormatter,s=void 0===u?function(e){var t=e.timestamp,r=e.duration;return function(e,n,o){var i=["action"];return i.push("%c"+String(e.type)),t&&i.push("%c@ "+n),r&&i.push("%c(in "+o.toFixed(2)+" ms)"),i.join(" ")}}(t):u,c=t.collapsed,f=t.colors,l=t.level,p=t.diff;e.forEach(function(u,d){var h=u.started,y=u.startedTime,v=u.action,m=u.prevState,g=u.error,b=u.took,x=u.nextState,w=e[d+1];w&&(x=w.prevState,b=w.started-h);var _=n(v),O="function"==typeof c?c(function(){return x},v,u):c,S=(0,o.formatTime)(y),k=f.title?"color: "+f.title(_)+";":"",P=["color: gray; font-weight: lighter;"];P.push(k),t.timestamp&&P.push("color: gray; font-weight: lighter;"),t.duration&&P.push("color: gray; font-weight: lighter;");var j=s(_,S,b);try{O?f.title?r.groupCollapsed.apply(r,["%c "+j].concat(P)):r.groupCollapsed(j):f.title?r.group.apply(r,["%c "+j].concat(P)):r.group(j)}catch(e){r.log(j)}var E=a(l,_,[m],"prevState"),A=a(l,_,[_],"action"),T=a(l,_,[g,m],"error"),C=a(l,_,[x],"nextState");E&&(f.prevState?r[E]("%c prev state","color: "+f.prevState(m)+"; font-weight: bold",m):r[E]("prev state",m)),A&&(f.action?r[A]("%c action ","color: "+f.action(_)+"; font-weight: bold",_):r[A]("action ",_)),g&&T&&(f.error?r[T]("%c error ","color: "+f.error(g,m)+"; font-weight: bold;",g):r[T]("error ",g)),C&&(f.nextState?r[C]("%c next state","color: "+f.nextState(x)+"; font-weight: bold",x):r[C]("next state",x)),p&&(0,i.default)(m,x,r,O);try{r.groupEnd()}catch(e){r.log("—— log end ——")}})};var o=r(135),i=function(e){return e&&e.__esModule?e:{default:e}}(r(407));function a(e,t,r,o){switch(void 0===e?"undefined":n(e)){case"object":return"function"==typeof e[o]?e[o].apply(e,function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=n.length?r(new f(y,b,new c(e,t[b]))):d(t[b],n[b],r,o,y,b,h);for(;b=0?(d(t[i],n[i],r,o,y,i,h),w=l(w,u)):d(t[i],e,r,o,y,i,h)}),w.forEach(function(t){d(e,n[t],r,o,y,t,h)})}h.length=h.length-1}}else t!==n&&("number"===m&&isNaN(t)&&isNaN(n)||r(new u(y,t,n)))}function h(t,n,r,o){return o=o||[],d(t,n,function(e){e&&o.push(e)},r),o.length?o:e}function y(e,t,n){if(e&&t&&n&&n.kind){for(var r=e,o=-1,i=n.path?n.path.length-1:0;++o=r.length?n(new f(y,b,new c(e,t[b]))):d(t[b],r[b],n,o,y,b,h);for(;b=0?(d(t[i],r[i],n,o,y,i,h),w=l(w,u)):d(t[i],e,n,o,y,i,h)}),w.forEach(function(t){d(e,r[t],n,o,y,t,h)})}h.length=h.length-1}}else t!==r&&("number"===m&&isNaN(t)&&isNaN(r)||n(new u(y,t,r)))}function h(t,r,n,o){return o=o||[],d(t,r,function(e){e&&o.push(e)},n),o.length?o:e}function y(e,t,r){if(e&&t&&r&&r.kind){for(var n=e,o=-1,i=r.path?r.path.length-1:0;++o-1}},function(e,t,n){var r=n(418),o=n(139),i=n(419),a="[object Object]";var u=Object.prototype,s=u.hasOwnProperty,c=u.toString;e.exports=function(e){var t,n;return!(!function(e){return!!e&&"object"==typeof e}(e)||c.call(e)!=a||o(e)||!(s.call(e,"constructor")||"function"!=typeof(t=e.constructor)||t instanceof t))&&(function(e,t){r(e,t,i)}(e,function(e,t){n=t}),void 0===n||s.call(e,n))}},function(e,t){var n=function(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),u=a.length;u--;){var s=a[e?u:++o];if(!1===n(i[s],s,i))break}return t}}();e.exports=n},function(e,t,n){var r=n(139),o=n(420),i=/^\d+$/,a=Object.prototype.hasOwnProperty,u=9007199254740991;function s(e,t){return e="number"==typeof e||i.test(e)?+e:-1,t=null==t?u:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=u}(t)&&(o(e)||r(e))&&t||0;for(var n=e.constructor,i=-1,c="function"==typeof n&&n.prototype===e,f=Array(t),l=t>0;++i-1&&e%1==0&&e<=f}(e.length)&&"[object Array]"==s.call(e)};e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t){var n=i.default(e).map(function(t){return o.default(t,e[t])});return void 0!==t?function(e,r){return void 0===e&&(e=t),a.default.apply(void 0,n)(e,r)}:a.default.apply(void 0,n)};var o=r(n(138)),i=r(n(422)),a=r(n(423));e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){if("undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys)return Reflect.ownKeys(e);var t=Object.getOwnPropertyNames(e);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e)));return t},e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(){for(var e=arguments.length,t=Array(e),n=0;n0?i:null,n.future.length>0?u:null))}p.propTypes={history:i.object,dispatch:i.func};var d=r(function(e){return{history:e.history}},function(e){return{dispatch:e}})(f(p));t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(e.hasOwnProperty(t)){for(var o={},i=e[t],a=(0,r.default)(t),u=Object.keys(n),s=0;st.osVersion&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName="and_chr");"android"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.samsungBrowser&&(t.browserName="and_chr",t.browserVersion=44);return t};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(435));var o={chrome:"Webkit",safari:"Webkit",ios:"Webkit",android:"Webkit",phantom:"Webkit",opera:"Webkit",webos:"Webkit",blackberry:"Webkit",bada:"Webkit",tizen:"Webkit",chromium:"Webkit",vivaldi:"Webkit",firefox:"Moz",seamoney:"Moz",sailfish:"Moz",msie:"ms",msedge:"ms"},i={chrome:"chrome",chromium:"chrome",safari:"safari",firfox:"firefox",msedge:"edge",opera:"opera",vivaldi:"opera",msie:"ie"};e.exports=t.default},function(e,t,n){ +*/var n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,a,u=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s-1}},function(e,t,r){var n=r(419),o=r(140),i=r(420),a="[object Object]";var u=Object.prototype,s=u.hasOwnProperty,c=u.toString;e.exports=function(e){var t,r;return!(!function(e){return!!e&&"object"==typeof e}(e)||c.call(e)!=a||o(e)||!(s.call(e,"constructor")||"function"!=typeof(t=e.constructor)||t instanceof t))&&(function(e,t){n(e,t,i)}(e,function(e,t){r=t}),void 0===r||s.call(e,r))}},function(e,t){var r=function(e){return function(t,r,n){for(var o=-1,i=Object(t),a=n(t),u=a.length;u--;){var s=a[e?u:++o];if(!1===r(i[s],s,i))break}return t}}();e.exports=r},function(e,t,r){var n=r(140),o=r(421),i=/^\d+$/,a=Object.prototype.hasOwnProperty,u=9007199254740991;function s(e,t){return e="number"==typeof e||i.test(e)?+e:-1,t=null==t?u:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=u}(t)&&(o(e)||n(e))&&t||0;for(var r=e.constructor,i=-1,c="function"==typeof r&&r.prototype===e,f=Array(t),l=t>0;++i-1&&e%1==0&&e<=f}(e.length)&&"[object Array]"==s.call(e)};e.exports=l},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t){var r=i.default(e).map(function(t){return o.default(t,e[t])});return void 0!==t?function(e,n){return void 0===e&&(e=t),a.default.apply(void 0,r)(e,n)}:a.default.apply(void 0,r)};var o=n(r(139)),i=n(r(423)),a=n(r(424));e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){if("undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys)return Reflect.ownKeys(e);var t=Object.getOwnPropertyNames(e);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e)));return t},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){for(var e=arguments.length,t=Array(e),r=0;r0?i:null,r.future.length>0?s:null))}f.propTypes={history:i.default.object,dispatch:i.default.func};var l=(0,n.connect)(function(e){return{history:e.history}},function(e){return{dispatch:e}})((0,s.default)(f));t.default=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(e.hasOwnProperty(t)){for(var o={},i=e[t],a=(0,n.default)(t),u=Object.keys(r),s=0;st.osVersion&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName="and_chr");"android"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.samsungBrowser&&(t.browserName="and_chr",t.browserVersion=44);return t};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(435));var o={chrome:"Webkit",safari:"Webkit",ios:"Webkit",android:"Webkit",phantom:"Webkit",opera:"Webkit",webos:"Webkit",blackberry:"Webkit",bada:"Webkit",tizen:"Webkit",chromium:"Webkit",vivaldi:"Webkit",firefox:"Moz",seamoney:"Moz",sailfish:"Moz",msie:"ms",msedge:"ms"},i={chrome:"chrome",chromium:"chrome",safari:"safari",firfox:"firefox",msedge:"edge",opera:"opera",vivaldi:"opera",msie:"ie"};e.exports=t.default},function(e,t,r){ /*! * Bowser - a browser detector * https://github.com/ded/bowser * MIT License | (c) Dustin Diaz 2015 */ -!function(t,r,o){void 0!==e&&e.exports?e.exports=o():n(436)("bowser",o)}(0,0,function(){var e=!0;function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||""}var o,i=n(/(ipod|iphone|ipad)/i).toLowerCase(),a=!/like android/i.test(t)&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),s=!u&&/nexus\s*[0-9]+/i.test(t),c=/CrOS/.test(t),f=/silk/i.test(t),l=/sailfish/i.test(t),p=/tizen/i.test(t),d=/(web|hpw)os/i.test(t),h=/windows phone/i.test(t),y=(/SamsungBrowser/i.test(t),!h&&/windows/i.test(t)),v=!i&&!f&&/macintosh/i.test(t),m=!a&&!l&&!p&&!d&&/linux/i.test(t),g=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=n(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(t)&&!/tablet pc/i.test(t),w=!x&&/[^-]mobi/i.test(t),_=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:b||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:b||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:b||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:b||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},g?(o.msedge=e,o.version=g):(o.msie=e,o.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:c?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:g}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||b}:l?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):f?o={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:b||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:d?(o={name:"WebOS",osname:"WebOS",webos:e,version:b||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:p?o={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:a?o={name:"Android",version:b}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},b&&(o.version=b)):i?(o={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(o.version=b)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||b}:{name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&b&&(o.version=b)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||n(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!a&&!o.silk?!o.windowsphone&&i?(o[i]=e,o.ios=e,o.osname="iOS"):v?(o.mac=e,o.osname="macOS"):_?(o.xbox=e,o.osname="Xbox"):y?(o.windows=e,o.osname="Windows"):m&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var O="";o.windows?O=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?O=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?O=(O=n(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):i?O=(O=n(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):a?O=n(/android[ \/-](\d+(\.\d+)*)/i):o.webos?O=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?O=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?O=n(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(O=n(/tizen[\/\s](\d+(\.\d+)*)/i)),O&&(o.osversion=O);var S=!o.windows&&O.split(".")[0];return x||s||"ipad"==i||a&&(3==S||S>=4&&!w)||o.silk?o.tablet=e:(w||"iphone"==i||"ipod"==i||a||u||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var n=t("undefined"!=typeof navigator&&navigator.userAgent||"");function r(e){return e.split(".").length}function o(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n=0;){if(n[0][t]>n[1][t])return 1;if(n[0][t]!==n[1][t])return-1;if(0===t)return 0}}function a(e,r,o){var a=n;"string"==typeof r&&(o=r,r=void 0),void 0===r&&(r=!1),o&&(a=t(o));var u=""+a.version;for(var s in e)if(e.hasOwnProperty(s)&&a[s]){if("string"!=typeof e[s])throw new Error("Browser version in the minVersion map should be a string: "+s+": "+String(e));return i([u,e[s]])<0}return r}return n.test=function(e){for(var t=0;t-1&&t._listeners.splice(n,1)}}}},{key:"addCSS",value:function(e){var t=this;return this._cssSet[e]||(this._cssSet[e]=!0,this._emitChange()),{remove:function(){delete t._cssSet[e],t._emitChange()}}}},{key:"getCSS",value:function(){return Object.keys(this._cssSet).join("\n")}},{key:"_emitChange",value:function(){this._listeners.forEach(function(e){return e()})}}]),e}(),c={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function f(e,t){return!c[e]&&"number"==typeof t&&0!==t?t+"px":t}function l(e,t){return Object.keys(e).reduce(function(n,r){return n[r]=t(e[r],r),n},{})}function p(e){return l(e,function(t,n){return f(n,e[n])+" !important"})}var d=n(53),h=n(26);function y(e,t,n){if(!t)return"";var r=l(t,function(e,t){return f(t,e)}),o=Object(h.b)(r,n);return e+"{"+function(e){return Object.keys(e).map(function(t){return t+": "+e[t]+";"}).join("\n")}(Object(d.b)(o))+"}"}var v=function(e){return null===e||void 0===e?"main":e.toString()},m=function(e,t,n){var r=v(t);return!!e&&!!e._radiumStyleState&&!!e._radiumStyleState[r]&&e._radiumStyleState[r][n]},g=function(e){return"string"==typeof e.ref?e.ref:e.key},b=function(e){return e._lastRadiumState||e.state&&e.state._radiumStyleState||{}};function x(e){if(!e)return"";for(var t=5381,n=e.length-1;n;)t=33*t^e.charCodeAt(n),n-=1;return(t>>>0).toString(16)}var w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function _(e){return e&&e.constructor===Object&&e.toString===Object.prototype.toString}function O(e){var t={};return e.forEach(function(e){e&&"object"===(void 0===e?"undefined":w(e))&&(Array.isArray(e)&&(e=O(e)),Object.keys(e).forEach(function(n){if(_(e[n])&&_(t[n])){if(0===n.indexOf("@media"))for(var r=n;;)if(!t[r+=" "])return void(t[r]=e[n]);t[n]=O([t[n],e[n]])}else t[n]=e[n]}))}),t}Object.assign,"function"==typeof Symbol&&Symbol.iterator;var S=function(){};var k=function(e){var t=e.style,n=e.mergeStyles;return{style:Array.isArray(t)?n(t):t}};var j=[],P=!1;function E(){j.forEach(function(e){e()})}var C=function(e){return-1===j.indexOf(e)&&j.push(e),P||(window.addEventListener("mouseup",E),P=!0),{remove:function(){var t=j.indexOf(e);j.splice(t,1),0===j.length&&P&&(window.removeEventListener("mouseup",E),P=!1)}}},A=function(e){return":hover"===e||":active"===e||":focus"===e},M=function(e){var t=e.ExecutionEnvironment,n=e.getComponentField,r=e.getState,o=e.mergeStyles,i=e.props,a=e.setState,u=e.style,s={},c={};if(u[":hover"]){var f=i.onMouseEnter;c.onMouseEnter=function(e){f&&f(e),a(":hover",!0)};var l=i.onMouseLeave;c.onMouseLeave=function(e){l&&l(e),a(":hover",!1)}}if(u[":active"]){var p=i.onMouseDown;c.onMouseDown=function(e){p&&p(e),s._lastMouseDown=Date.now(),a(":active","viamousedown")};var d=i.onKeyDown;c.onKeyDown=function(e){d&&d(e)," "!==e.key&&"Enter"!==e.key||a(":active","viakeydown")};var h=i.onKeyUp;c.onKeyUp=function(e){h&&h(e)," "!==e.key&&"Enter"!==e.key||a(":active",!1)}}if(u[":focus"]){var y=i.onFocus;c.onFocus=function(e){y&&y(e),a(":focus",!0)};var v=i.onBlur;c.onBlur=function(e){v&&v(e),a(":focus",!1)}}u[":active"]&&!n("_radiumMouseUpListener")&&t.canUseEventListeners&&(s._radiumMouseUpListener=C(function(){Object.keys(n("state")._radiumStyleState).forEach(function(e){"viamousedown"===r(":active",e)&&a(":active",!1,e)})}));var m=i.disabled?[u[":disabled"]]:Object.keys(u).filter(function(e){return A(e)&&r(e)}).map(function(e){return u[e]}),g=o([u].concat(m));return g=Object.keys(g).reduce(function(e,t){return A(t)||":disabled"===t||(e[t]=g[t]),e},{}),{componentFields:s,props:c,style:g}},T=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:q,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments[5];if(!a){var u=b(e);a=Object.keys(u).reduce(function(e,t){return"main"!==t&&(e[t]=!0),e},{})}if(!t||t.props&&t.props["data-radium"]||i&&!function(e){return e.type&&!e.type._isRadiumEnhanced}(t))return{extraStateKeyMap:a,element:t};var s=function(e){var t=e.children,n=e.component,r=e.config,i=e.existingKeyMap,a=e.extraStateKeyMap;if(!t)return t;var u=void 0===t?"undefined":W(t);if("string"===u||"number"===u)return t;if("function"===u)return function(){var e=t.apply(this,arguments);if(o.a.isValidElement(e)){var u=g(e);return delete a[u],L(n,e,r,i,!0,a).element}return e};if(1===o.a.Children.count(t)&&t.type){var s=o.a.Children.only(t),c=g(s);return delete a[c],L(n,s,r,i,!0,a).element}return o.a.Children.map(t,function(e){if(o.a.isValidElement(e)){var t=g(e);return delete a[t],L(n,e,r,i,!0,a).element}return e})}({children:t.props.children,component:e,config:n,existingKeyMap:r,extraStateKeyMap:a}),c=function(e){var t=e.component,n=e.config,r=e.existingKeyMap,i=e.props,a=e.extraStateKeyMap,u=i;return Object.keys(i).forEach(function(e){if("children"!==e){var s=i[e];if(o.a.isValidElement(s)){var c=g(s);delete a[c],u=F({},u);var f=L(t,s,n,r,!0,a).element;u[e]=f}}}),u}({component:e,config:n,existingKeyMap:r,extraStateKeyMap:a,props:t.props});return c=z({component:e,config:n,existingKeyMap:r,props:c,renderedElement:t}),s===t.props.children&&c===t.props?{extraStateKeyMap:a,element:t}:{extraStateKeyMap:a,element:function(e,t,n){return"string"==typeof e.type&&(t=F({},t,{"data-radium":!0})),o.a.cloneElement(e,t,n)}(t,c!==t.props?c:{},s)}},V=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(r):void 0},Q=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e){var i=H({},o,e);return function(e){return te(e,i)}}var u=e,c=u;(function(e){return"function"==typeof e&&/^\s*class\s+/.test(e.toString())})(c)&&(c=function(e){function t(){return ee(new(Function.prototype.bind.apply(e,[null].concat(Array.prototype.slice.call(arguments)))),this),this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":Y(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(c)),function(e){return!(e.render||e.prototype&&e.prototype.render)}(c)&&((c=function(e){function t(){return X(this,t),$(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Z(t,r["Component"]),Q(t,[{key:"render",value:function(){return u(this.props,this.context)}}]),t}()).displayName=u.displayName||u.name);var f=(n=t=function(e){function t(){X(this,t);var e=$(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state=e.state||{},e.state._radiumStyleState={},e._radiumIsMounted=!0,e}return Z(t,c),Q(t,[{key:"componentWillUnmount",value:function(){V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this)&&V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this).call(this),this._radiumIsMounted=!1,this._radiumMouseUpListener&&this._radiumMouseUpListener.remove(),this._radiumMediaQueryListenersByQuery&&Object.keys(this._radiumMediaQueryListenersByQuery).forEach(function(e){this._radiumMediaQueryListenersByQuery[e].remove()},this)}},{key:"getChildContext",value:function(){var e=V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this)?V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this).call(this):{};if(!this.props.radiumConfig)return e;var n=H({},e);return this.props.radiumConfig&&(n._radiumConfig=this.props.radiumConfig),n}},{key:"render",value:function(){var e=V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"render",this).call(this),n=this.props.radiumConfig||this.context._radiumConfig||o;o&&n!==o&&(n=H({},o,n));var r=K(this,e,n),i=r.extraStateKeyMap,a=r.element;return this._extraRadiumStateKeys=Object.keys(i),a}},{key:"componentDidUpdate",value:function(e,n){if(V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this)&&V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this).call(this,e,n),this._extraRadiumStateKeys.length>0){var r=this._extraRadiumStateKeys.reduce(function(e,t){e[t];return function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,[t])},b(this));this._lastRadiumState=r,this.setState({_radiumStyleState:r})}}}]),t}(),t._isRadiumEnhanced=!0,n);return ee(u,f),f.propTypes&&f.propTypes.style&&(f.propTypes=H({},f.propTypes,{style:a.a.oneOfType([a.a.array,a.a.object])})),f.displayName=u.displayName||u.name||"Component",f.contextTypes=H({},f.contextTypes,{_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)}),f.childContextTypes=H({},f.childContextTypes,{_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)}),f}var ne,re,oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["radiumConfig"]));return o.a.createElement("div",t,this.props.children,o.a.createElement(fe,null))}}]),t}();de.contextTypes={_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)},de.childContextTypes={_radiumStyleKeeper:a.a.instanceOf(s)};var he=de=te(de);function ye(e,t){return{__radiumKeyframes:!0,__process:function(n){var r=Object(h.a)(n),o=Object.keys(e).map(function(t){return y(t,e[t],n)}).join("\n"),i=(t?t+"-":"")+"radium-animation-"+x(o);return{css:"@"+r+" "+i+" {\n"+o+"\n}\n",animationName:i}}}}function ve(e){return te(e)}n.d(t,"Plugins",function(){return D}),n.d(t,"Style",function(){return se}),n.d(t,"StyleRoot",function(){return he}),n.d(t,"getState",function(){return m}),n.d(t,"keyframes",function(){return ye}),ve.Plugins=D,ve.Style=se,ve.StyleRoot=he,ve.getState=m,ve.keyframes=ye;t.default=ve}]); \ No newline at end of file +!function(t,n,o){void 0!==e&&e.exports?e.exports=o():r(436)("bowser",o)}(0,0,function(){var e=!0;function t(t){function r(e){var r=t.match(e);return r&&r.length>1&&r[1]||""}function n(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var o,a=r(/(ipod|iphone|ipad)/i).toLowerCase(),u=!/like android/i.test(t)&&/android/i.test(t),s=/nexus\s*[0-6]\s*/i.test(t),c=!s&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),p=/sailfish/i.test(t),d=/tizen/i.test(t),h=/(web|hpw)(o|0)s/i.test(t),y=/windows phone/i.test(t),v=(/SamsungBrowser/i.test(t),!y&&/windows/i.test(t)),m=!a&&!l&&/macintosh/i.test(t),g=!u&&!p&&!d&&!h&&/linux/i.test(t),b=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),x=r(/version\/(\d+(\.\d+)?)/i),w=/tablet/i.test(t)&&!/tablet pc/i.test(t),_=!w&&/[^-]mobi/i.test(t),O=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:x||r(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:r(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||x}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:x||r(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?o={name:"NAVER Whale browser",whale:e,version:r(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?o={name:"MZ Browser",mzbrowser:e,version:r(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:x||r(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?o={name:"Focus",focus:e,version:r(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:x||r(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:r(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:r(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:r(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:r(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:r(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:r(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:y?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(o.msedge=e,o.version=b):(o.msie=e,o.version=r(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:r(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:r(/vivaldi\/(\d+(\.\d+)?)/i)||x}:p?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:r(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:r(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:r(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):l?o={name:"Amazon Silk",silk:e,version:r(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:r(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:r(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:x||r(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:h?(o={name:"WebOS",osname:"WebOS",webos:e,version:x||r(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:r(/dolfin\/(\d+(\.\d+)?)/i)}:d?o={name:"Tizen",osname:"Tizen",tizen:e,version:r(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||x}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:r(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||x}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:r(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||x}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:u?o={name:"Android",version:x}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},x&&(o.version=x)):a?(o={name:"iphone"==a?"iPhone":"ipad"==a?"iPad":"iPod"},x&&(o.version=x)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:r(/googlebot\/(\d+(\.\d+))/i)||x}:{name:r(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&x&&(o.version=x)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||r(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!u&&!o.silk?!o.windowsphone&&a?(o[a]=e,o.ios=e,o.osname="iOS"):m?(o.mac=e,o.osname="macOS"):O?(o.xbox=e,o.osname="Xbox"):v?(o.windows=e,o.osname="Windows"):g&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var S="";o.windows?S=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(r(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?S=r(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?S=(S=r(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):a?S=(S=r(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):u?S=r(/android[ \/-](\d+(\.\d+)*)/i):o.webos?S=r(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?S=r(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?S=r(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(S=r(/tizen[\/\s](\d+(\.\d+)*)/i)),S&&(o.osversion=S);var k=!o.windows&&S.split(".")[0];return w||c||"ipad"==a||u&&(3==k||k>=4&&!_)||o.silk?o.tablet=e:(_||"iphone"==a||"ipod"==a||u||s||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===i([o.version,"1.0"])||o.mzbrowser&&1===i([o.version,"6.0"])||o.focus&&1===i([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var r=t("undefined"!=typeof navigator&&navigator.userAgent||"");function n(e){return e.split(".").length}function o(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r=0;){if(r[0][t]>r[1][t])return 1;if(r[0][t]!==r[1][t])return-1;if(0===t)return 0}}function a(e,n,o){var a=r;"string"==typeof n&&(o=n,n=void 0),void 0===n&&(n=!1),o&&(a=t(o));var u=""+a.version;for(var s in e)if(e.hasOwnProperty(s)&&a[s]){if("string"!=typeof e[s])throw new Error("Browser version in the minVersion map should be a string: "+s+": "+String(e));return i([u,e[s]])<0}return n}return r.test=function(e){for(var t=0;t-1&&t._listeners.splice(r,1)}}}},{key:"addCSS",value:function(e){var t=this;return this._cssSet[e]||(this._cssSet[e]=!0,this._emitChange()),{remove:function(){delete t._cssSet[e],t._emitChange()}}}},{key:"getCSS",value:function(){return Object.keys(this._cssSet).join("\n")}},{key:"_emitChange",value:function(){this._listeners.forEach(function(e){return e()})}}]),e}(),c={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function f(e,t){return!c[e]&&"number"==typeof t&&0!==t?t+"px":t}function l(e,t){return Object.keys(e).reduce(function(r,n){return r[n]=t(e[n],n),r},{})}function p(e){return l(e,function(t,r){return f(r,e[r])+" !important"})}var d=r(53),h=r(26);function y(e,t,r){if(!t)return"";var n=l(t,function(e,t){return f(t,e)}),o=Object(h.b)(n,r);return e+"{"+function(e){return Object.keys(e).map(function(t){return t+": "+e[t]+";"}).join("\n")}(Object(d.b)(o))+"}"}var v=function(e){return null===e||void 0===e?"main":e.toString()},m=function(e,t,r){var n=v(t);return!!e&&!!e._radiumStyleState&&!!e._radiumStyleState[n]&&e._radiumStyleState[n][r]},g=function(e){return"string"==typeof e.ref?e.ref:e.key},b=function(e){return e._lastRadiumState||e.state&&e.state._radiumStyleState||{}};function x(e){if(!e)return"";for(var t=5381,r=e.length-1;r;)t=33*t^e.charCodeAt(r),r-=1;return(t>>>0).toString(16)}var w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function _(e){return e&&e.constructor===Object&&e.toString===Object.prototype.toString}function O(e){var t={};return e.forEach(function(e){e&&"object"===(void 0===e?"undefined":w(e))&&(Array.isArray(e)&&(e=O(e)),Object.keys(e).forEach(function(r){if(_(e[r])&&_(t[r])){if(0===r.indexOf("@media"))for(var n=r;;)if(!t[n+=" "])return void(t[n]=e[r]);t[r]=O([t[r],e[r]])}else t[r]=e[r]}))}),t}Object.assign,"function"==typeof Symbol&&Symbol.iterator;var S=function(){};var k=function(e){var t=e.style,r=e.mergeStyles;return{style:Array.isArray(t)?r(t):t}};var P=[],j=!1;function E(){P.forEach(function(e){e()})}var A=function(e){return-1===P.indexOf(e)&&P.push(e),j||(window.addEventListener("mouseup",E),j=!0),{remove:function(){var t=P.indexOf(e);P.splice(t,1),0===P.length&&j&&(window.removeEventListener("mouseup",E),j=!1)}}},T=function(e){return":hover"===e||":active"===e||":focus"===e},C=function(e){var t=e.ExecutionEnvironment,r=e.getComponentField,n=e.getState,o=e.mergeStyles,i=e.props,a=e.setState,u=e.style,s={},c={};if(u[":hover"]){var f=i.onMouseEnter;c.onMouseEnter=function(e){f&&f(e),a(":hover",!0)};var l=i.onMouseLeave;c.onMouseLeave=function(e){l&&l(e),a(":hover",!1)}}if(u[":active"]){var p=i.onMouseDown;c.onMouseDown=function(e){p&&p(e),s._lastMouseDown=Date.now(),a(":active","viamousedown")};var d=i.onKeyDown;c.onKeyDown=function(e){d&&d(e)," "!==e.key&&"Enter"!==e.key||a(":active","viakeydown")};var h=i.onKeyUp;c.onKeyUp=function(e){h&&h(e)," "!==e.key&&"Enter"!==e.key||a(":active",!1)}}if(u[":focus"]){var y=i.onFocus;c.onFocus=function(e){y&&y(e),a(":focus",!0)};var v=i.onBlur;c.onBlur=function(e){v&&v(e),a(":focus",!1)}}u[":active"]&&!r("_radiumMouseUpListener")&&t.canUseEventListeners&&(s._radiumMouseUpListener=A(function(){Object.keys(r("state")._radiumStyleState).forEach(function(e){"viamousedown"===n(":active",e)&&a(":active",!1,e)})}));var m=i.disabled?[u[":disabled"]]:Object.keys(u).filter(function(e){return T(e)&&n(e)}).map(function(e){return u[e]}),g=o([u].concat(m));return g=Object.keys(g).reduce(function(e,t){return T(t)||":disabled"===t||(e[t]=g[t]),e},{}),{componentFields:s,props:c,style:g}},M=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:q,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments[5];if(!a){var u=b(e);a=Object.keys(u).reduce(function(e,t){return"main"!==t&&(e[t]=!0),e},{})}if(!t||t.props&&t.props["data-radium"]||i&&!function(e){return e.type&&!e.type._isRadiumEnhanced}(t))return{extraStateKeyMap:a,element:t};var s=function(e){var t=e.children,r=e.component,n=e.config,i=e.existingKeyMap,a=e.extraStateKeyMap;if(!t)return t;var u=void 0===t?"undefined":U(t);if("string"===u||"number"===u)return t;if("function"===u)return function(){var e=t.apply(this,arguments);if(o.a.isValidElement(e)){var u=g(e);return delete a[u],L(r,e,n,i,!0,a).element}return e};if(1===o.a.Children.count(t)&&t.type){var s=o.a.Children.only(t),c=g(s);return delete a[c],L(r,s,n,i,!0,a).element}return o.a.Children.map(t,function(e){if(o.a.isValidElement(e)){var t=g(e);return delete a[t],L(r,e,n,i,!0,a).element}return e})}({children:t.props.children,component:e,config:r,existingKeyMap:n,extraStateKeyMap:a}),c=function(e){var t=e.component,r=e.config,n=e.existingKeyMap,i=e.props,a=e.extraStateKeyMap,u=i;return Object.keys(i).forEach(function(e){if("children"!==e){var s=i[e];if(o.a.isValidElement(s)){var c=g(s);delete a[c],u=F({},u);var f=L(t,s,r,n,!0,a).element;u[e]=f}}}),u}({component:e,config:r,existingKeyMap:n,extraStateKeyMap:a,props:t.props});return c=z({component:e,config:r,existingKeyMap:n,props:c,renderedElement:t}),s===t.props.children&&c===t.props?{extraStateKeyMap:a,element:t}:{extraStateKeyMap:a,element:function(e,t,r){return"string"==typeof e.type&&(t=F({},t,{"data-radium":!0})),o.a.cloneElement(e,t,r)}(t,c!==t.props?c:{},s)}},V=function e(t,r,n){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,r);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,r,n)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(n):void 0},H=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e){var i=Q({},o,e);return function(e){return te(e,i)}}var u=e,c=u;(function(e){return"function"==typeof e&&/^\s*class\s+/.test(e.toString())})(c)&&(c=function(e){function t(){return ee(new(Function.prototype.bind.apply(e,[null].concat(Array.prototype.slice.call(arguments)))),this),this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":Y(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(c)),function(e){return!(e.render||e.prototype&&e.prototype.render)}(c)&&((c=function(e){function t(){return X(this,t),$(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Z(t,n["Component"]),H(t,[{key:"render",value:function(){return u(this.props,this.context)}}]),t}()).displayName=u.displayName||u.name);var f=(r=t=function(e){function t(){X(this,t);var e=$(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state=e.state||{},e.state._radiumStyleState={},e._radiumIsMounted=!0,e}return Z(t,c),H(t,[{key:"componentWillUnmount",value:function(){V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this)&&V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this).call(this),this._radiumIsMounted=!1,this._radiumMouseUpListener&&this._radiumMouseUpListener.remove(),this._radiumMediaQueryListenersByQuery&&Object.keys(this._radiumMediaQueryListenersByQuery).forEach(function(e){this._radiumMediaQueryListenersByQuery[e].remove()},this)}},{key:"getChildContext",value:function(){var e=V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this)?V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this).call(this):{};if(!this.props.radiumConfig)return e;var r=Q({},e);return this.props.radiumConfig&&(r._radiumConfig=this.props.radiumConfig),r}},{key:"render",value:function(){var e=V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"render",this).call(this),r=this.props.radiumConfig||this.context._radiumConfig||o;o&&r!==o&&(r=Q({},o,r));var n=K(this,e,r),i=n.extraStateKeyMap,a=n.element;return this._extraRadiumStateKeys=Object.keys(i),a}},{key:"componentDidUpdate",value:function(e,r){if(V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this)&&V(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this).call(this,e,r),this._extraRadiumStateKeys.length>0){var n=this._extraRadiumStateKeys.reduce(function(e,t){e[t];return function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[t])},b(this));this._lastRadiumState=n,this.setState({_radiumStyleState:n})}}}]),t}(),t._isRadiumEnhanced=!0,r);return ee(u,f),f.propTypes&&f.propTypes.style&&(f.propTypes=Q({},f.propTypes,{style:a.a.oneOfType([a.a.array,a.a.object])})),f.displayName=u.displayName||u.name||"Component",f.contextTypes=Q({},f.contextTypes,{_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)}),f.childContextTypes=Q({},f.childContextTypes,{_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)}),f}var re,ne,oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie=function(){function e(e,t){for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,["radiumConfig"]));return o.a.createElement("div",t,this.props.children,o.a.createElement(fe,null))}}]),t}();de.contextTypes={_radiumConfig:a.a.object,_radiumStyleKeeper:a.a.instanceOf(s)},de.childContextTypes={_radiumStyleKeeper:a.a.instanceOf(s)};var he=de=te(de);function ye(e,t){return{__radiumKeyframes:!0,__process:function(r){var n=Object(h.a)(r),o=Object.keys(e).map(function(t){return y(t,e[t],r)}).join("\n"),i=(t?t+"-":"")+"radium-animation-"+x(o);return{css:"@"+n+" "+i+" {\n"+o+"\n}\n",animationName:i}}}}function ve(e){return te(e)}r.d(t,"Plugins",function(){return N}),r.d(t,"Style",function(){return se}),r.d(t,"StyleRoot",function(){return he}),r.d(t,"getState",function(){return m}),r.d(t,"keyframes",function(){return ye}),ve.Plugins=N,ve.Style=se,ve.StyleRoot=he,ve.getState=m,ve.keyframes=ye;t.default=ve}]); \ No newline at end of file diff --git a/dev-requirements.txt b/dev-requirements.txt index e5d4887..454fad2 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,6 +1,6 @@ -dash_core_components==0.12.0 +dash_core_components==0.33.0 dash_html_components==0.11.0rc5 -dash==0.18.3 +dash==0.28.0 percy selenium mock diff --git a/package-lock.json b/package-lock.json index 625ae9c..d7d4231 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,214 @@ { "name": "dash-renderer", - "version": "0.13.1", + "version": "0.14.1", "lockfileVersion": 1, "requires": true, "dependencies": { - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "@babel/highlight": "^7.0.0" } }, - "@nodelib/fs.stat": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.1.tgz", - "integrity": "sha512-KU/VDjC5RwtDUZiz3d+DHXJF2lp5hB9dn552TXIyptj8SH1vXmR40mG0JgGq03IlYsOgGfcv8xrLpSQ0YUMQdA==" + "@babel/generator": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.2.tgz", + "integrity": "sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig==", + "dev": true, + "requires": { + "@babel/types": "^7.1.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.2.tgz", + "integrity": "sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ==", + "dev": true + }, + "@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "@babel/traverse": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", + "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.2.tgz", + "integrity": "sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg==", + "dev": true, "requires": { - "any-observable": "^0.3.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, "@shellscape/koa-send": { @@ -52,237 +237,214 @@ "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" }, "@webassemblyjs/ast": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", - "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", + "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", "requires": { - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } + "@webassemblyjs/helper-module-context": "1.7.8", + "@webassemblyjs/helper-wasm-bytecode": "1.7.8", + "@webassemblyjs/wast-parser": "1.7.8" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", - "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==" + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", + "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==" }, "@webassemblyjs/helper-api-error": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", - "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==" + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz", + "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==" }, "@webassemblyjs/helper-buffer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", - "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", - "requires": { - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", + "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==" }, "@webassemblyjs/helper-code-frame": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", - "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", + "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", "requires": { - "@webassemblyjs/wast-printer": "1.5.13" + "@webassemblyjs/wast-printer": "1.7.8" } }, "@webassemblyjs/helper-fsm": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", - "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==" + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", + "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==" }, "@webassemblyjs/helper-module-context": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", - "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", - "requires": { - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz", + "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==" }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", - "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==" + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", + "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==" }, "@webassemblyjs/helper-wasm-section": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", - "integrity": "sha512-IJ/goicOZ5TT1axZFSnlAtz4m8KEjYr12BNOANAwGFPKXM4byEDaMNXYowHMG0yKV9a397eU/NlibFaLwr1fbw==", - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", + "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", + "requires": { + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-buffer": "1.7.8", + "@webassemblyjs/helper-wasm-bytecode": "1.7.8", + "@webassemblyjs/wasm-gen": "1.7.8" } }, "@webassemblyjs/ieee754": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", - "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz", + "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==", "requires": { - "ieee754": "^1.1.11" + "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", - "integrity": "sha512-0NRMxrL+GG3eISGZBmLBLAVjphbN8Si15s7jzThaw1UE9e5BY1oH49/+MA1xBzxpf1OW5sf9OrPDOclk9wj2yg==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", + "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", "requires": { - "long": "4.0.0" - }, - "dependencies": { - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - } + "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", - "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng==" + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz", + "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==" }, "@webassemblyjs/wasm-edit": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", - "integrity": "sha512-X7ZNW4+Hga4f2NmqENnHke2V/mGYK/xnybJSIXImt1ulxbCOEs/A+ZK/Km2jgihjyVxp/0z0hwIcxC6PrkWtgw==", - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/helper-wasm-section": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "@webassemblyjs/wast-printer": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", + "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "requires": { + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-buffer": "1.7.8", + "@webassemblyjs/helper-wasm-bytecode": "1.7.8", + "@webassemblyjs/helper-wasm-section": "1.7.8", + "@webassemblyjs/wasm-gen": "1.7.8", + "@webassemblyjs/wasm-opt": "1.7.8", + "@webassemblyjs/wasm-parser": "1.7.8", + "@webassemblyjs/wast-printer": "1.7.8" } }, "@webassemblyjs/wasm-gen": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", - "integrity": "sha512-yfv94Se8R73zmr8GAYzezFHc3lDwE/lBXQddSiIZEKZFuqy7yWtm3KMwA1uGbv5G1WphimJxboXHR80IgX1hQA==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", + "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-wasm-bytecode": "1.7.8", + "@webassemblyjs/ieee754": "1.7.8", + "@webassemblyjs/leb128": "1.7.8", + "@webassemblyjs/utf8": "1.7.8" } }, "@webassemblyjs/wasm-opt": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", - "integrity": "sha512-IkXSkgzVhQ0QYAdIayuCWMmXSYx0dHGU8Ah/AxJf1gBvstMWVnzJnBwLsXLyD87VSBIcsqkmZ28dVb0mOC3oBg==", - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", + "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "requires": { + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-buffer": "1.7.8", + "@webassemblyjs/wasm-gen": "1.7.8", + "@webassemblyjs/wasm-parser": "1.7.8" } }, "@webassemblyjs/wasm-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", - "integrity": "sha512-XnYoIcu2iqq8/LrtmdnN3T+bRjqYFjRHqWbqK3osD/0r/Fcv4d9ecRzjVtC29ENEuNTK4mQ9yyxCBCbK8S/cpg==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", + "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-api-error": "1.7.8", + "@webassemblyjs/helper-wasm-bytecode": "1.7.8", + "@webassemblyjs/ieee754": "1.7.8", + "@webassemblyjs/leb128": "1.7.8", + "@webassemblyjs/utf8": "1.7.8" } }, "@webassemblyjs/wast-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", - "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", + "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/floating-point-hex-parser": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-code-frame": "1.5.13", - "@webassemblyjs/helper-fsm": "1.5.13", - "long": "^3.2.0", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/floating-point-hex-parser": "1.7.8", + "@webassemblyjs/helper-api-error": "1.7.8", + "@webassemblyjs/helper-code-frame": "1.7.8", + "@webassemblyjs/helper-fsm": "1.7.8", + "@xtuc/long": "4.2.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", - "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", + "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "requires": { + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/wast-parser": "1.7.8", + "@xtuc/long": "4.2.1" + } + }, + "@webpack-contrib/cli-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-contrib/cli-utils/-/cli-utils-1.0.2.tgz", + "integrity": "sha512-ZuV0pTi7x0Xd8MVZPIcDXbu7pg5+sNdrkdpmiW8mVto8+ru2+E0n8Opx36UxlDchBSiI6HouvaYcxmGOIS5yQA==", "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "long": "^3.2.0" + "@webpack-contrib/schema-utils": "^1.0.0-beta.0", + "camelize": "^1.0.0", + "chalk": "^2.4.1", + "decamelize": "^2.0.0", + "loader-utils": "^1.1.0", + "meant": "^1.0.1", + "strip-ansi": "^4.0.0", + "text-table": "^0.2.0", + "webpack-log": "^1.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@webpack-contrib/config-loader": { @@ -319,11 +481,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, "minimist": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -361,9 +518,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -399,11 +556,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -422,19 +574,43 @@ } } }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==" + }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "dev": true, + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.16", + "mime-types": "~2.1.18", "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + }, + "dependencies": { + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==" + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "requires": { + "mime-db": "~1.36.0" + } + } + } + }, + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true }, @@ -447,9 +623,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", - "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==" + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" } } }, @@ -472,6 +648,12 @@ "json-stable-stringify": "^1.0.1" } }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true + }, "ajv-keywords": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", @@ -529,7 +711,14 @@ "ansi-escapes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -541,11 +730,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -588,6 +772,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "optional": true, "requires": { "arr-flatten": "^1.0.1" } @@ -602,26 +787,22 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "requires": { "array-uniq": "^1.0.1" } @@ -629,12 +810,14 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "optional": true }, "array.prototype.find": { "version": "2.0.4", @@ -694,15 +877,11 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, - "ast-types": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", - "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==" - }, "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true }, "async-each": { "version": "1.0.1", @@ -777,6 +956,32 @@ "source-map": "^0.5.7" } }, + "babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", @@ -792,16 +997,6 @@ "trim-right": "^1.0.1" } }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", @@ -854,17 +1049,6 @@ "babel-types": "^6.24.1" } }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", @@ -979,41 +1163,11 @@ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" - }, - "babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=" - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" - }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=" - }, "babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", @@ -1021,29 +1175,14 @@ }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", @@ -1054,39 +1193,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-class-constructor-call": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", - "requires": { - "babel-plugin-syntax-class-constructor-call": "^6.18.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -1194,9 +1300,9 @@ } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "requires": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.26.0", @@ -1204,35 +1310,6 @@ "babel-types": "^6.26.0" } }, - "babel-plugin-transform-es2015-modules-commonjs-simple": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs-simple/-/babel-plugin-transform-es2015-modules-commonjs-simple-6.7.4.tgz", - "integrity": "sha1-piKEoInl2AR9bUpZA/7Dkcusa/E=", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.6.5", - "babel-runtime": "^5.0.0", - "babel-template": "^6.7.0", - "babel-types": "^6.7.0" - }, - "dependencies": { - "babel-runtime": { - "version": "5.8.38", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", - "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", - "dev": true, - "requires": { - "core-js": "^1.0.0" - } - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", @@ -1338,15 +1415,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "requires": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", @@ -1356,15 +1424,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, "babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", @@ -1435,44 +1494,41 @@ } } }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", "requires": { "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "babel-preset-es2015-webpack": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/babel-preset-es2015-webpack/-/babel-preset-es2015-webpack-6.4.3.tgz", - "integrity": "sha1-YeNxGuoBP6UPUAoVH8eYmqbqsg8=", - "dev": true, - "requires": { - "babel-preset-es2015": "^6.6.0" + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" } }, "babel-preset-flow": { @@ -1496,39 +1552,6 @@ "babel-preset-flow": "^6.23.0" } }, - "babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", - "requires": { - "babel-plugin-transform-class-constructor-call": "^6.24.1", - "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-stage-2": "^6.24.1" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -1682,15 +1705,10 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" }, - "binaryextensions": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", - "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==" - }, "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", + "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==" }, "bn.js": { "version": "4.11.8", @@ -1723,10 +1741,24 @@ } } }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, "bowser": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.2.tgz", - "integrity": "sha512-fuiANC1Bqbqa/S4gmvfCt7bGBmNELMsGZj4Wg3PrP6esP66Ttoj1JSlzFlXtHyduMv07kDNmDsX6VsMWT/MLGg==" + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==" }, "boxen": { "version": "1.3.0", @@ -1765,11 +1797,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -1815,6 +1842,7 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "optional": true, "requires": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -1898,6 +1926,15 @@ "pako": "~1.0.5" } }, + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -1908,24 +1945,11 @@ "isarray": "^1.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true }, "buffer-xor": { "version": "1.0.3", @@ -2015,32 +2039,6 @@ } } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -2071,6 +2069,16 @@ "quick-lru": "^1.0.0" } }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, + "caniuse-lite": { + "version": "1.0.30000889", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000889.tgz", + "integrity": "sha512-MFxcQ6x/LEEoaIhO7Zdb7Eg8YyNONN+WBnS5ERJ0li2yRw51+i4xXUNxnLaveTb/4ZoJqsWKEmlomhG2pYzlQA==" + }, "capture-stack-trace": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", @@ -2088,11 +2096,6 @@ "supports-color": "^2.0.0" } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" - }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -2111,9 +2114,9 @@ } }, "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, "chrome-trace-event": { "version": "1.0.0", @@ -2124,9 +2127,9 @@ } }, "ci-info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.4.0.tgz", - "integrity": "sha512-Oqmw2pVfCl8sCL+1QgMywPfdxPJPkC51y4usw0iiE2S9qnEOAqXy8bwl1CpMpnoU39g4iKJTz6QZj+28FvOnjQ==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" }, "cipher-base": { "version": "1.0.4", @@ -2170,9 +2173,9 @@ } }, "clean-webpack-plugin": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.17.tgz", - "integrity": "sha512-Bts/V725v8Ijosp4K1cqppQXgXcrohxoMsg0CV2xL4y/vua1G5pAfHEW/eJIiKF+GNNG72mdjbipxMRFEms7yg==", + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz", + "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==", "requires": { "rimraf": "^2.6.1" } @@ -2186,38 +2189,16 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, "requires": { "restore-cursor": "^1.0.1" } }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" - } - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, "clipboardy": { "version": "1.2.3", @@ -2226,22 +2207,6 @@ "requires": { "arch": "^2.1.0", "execa": "^0.8.0" - }, - "dependencies": { - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - } } }, "cliui": { @@ -2283,104 +2248,37 @@ } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "clone-buffer": { + "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { - "mimic-response": "^1.0.0" + "color-name": "1.1.3" } }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" - }, - "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==" + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.12.2", @@ -2398,27 +2296,43 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compressible": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", - "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", + "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", "dev": true, "requires": { - "mime-db": ">= 1.30.0 < 2" + "mime-db": ">= 1.36.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + } } }, "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.11", + "compressible": "~2.0.14", "debug": "2.6.9", "on-headers": "~1.0.1", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "concat-map": { @@ -2447,29 +2361,6 @@ "unique-string": "^1.0.0", "write-file-atomic": "^2.0.0", "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "connect": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz", - "integrity": "sha1-QogKIulDiuWait105Df1iujlKAc=", - "dev": true, - "requires": { - "formidable": "1.0.x", - "mime": ">= 0.0.1", - "qs": ">= 0.4.0" } }, "connect-history-api-fallback": { @@ -2524,12 +2415,19 @@ "dev": true }, "cookies": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.1.tgz", - "integrity": "sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.2.tgz", + "integrity": "sha512-J2JjH9T3PUNKPHknprxgCrCaZshIfxW2j49gq1E1CP5Micj1LppWAR2y9EHSQAzEiX84zOsScWNwUZ0b/ChlMw==", "requires": { - "depd": "~1.1.1", + "depd": "~1.1.2", "keygrip": "~1.0.2" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + } } }, "copy-concurrently": { @@ -2624,9 +2522,9 @@ } }, "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { "fbjs": "^0.8.9", "loose-envify": "^1.3.1", @@ -2676,11 +2574,19 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, "css-in-js-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.0.tgz", - "integrity": "sha512-yuWmPMD9FLi50Xf3k8W8oO3WM1eVnxEGCldCLyfusQ+CgivFk0s23yst4ooW6tfxMuSa03S6uUEga9UhX6GRrA==", + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", "requires": { - "hyphenate-style-name": "^1.0.2" + "hyphenate-style-name": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } } }, "currently-unhandled": { @@ -2704,26 +2610,11 @@ "es5-ext": "^0.10.9" } }, - "dargs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", - "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=" - }, - "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" - }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2733,9 +2624,12 @@ } }, "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" + } }, "decamelize-keys": { "version": "1.1.0", @@ -2746,6 +2640,11 @@ "map-obj": "^1.0.0" }, "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -2758,14 +2657,6 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, "deep-diff": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.4.tgz", @@ -2788,6 +2679,52 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "default-gateway": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", + "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + } + } + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -2888,11 +2825,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "detect-conflict": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", - "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=" - }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", @@ -2901,10 +2833,11 @@ "repeating": "^2.0.0" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true }, "diffie-hellman": { "version": "5.0.3", @@ -2916,28 +2849,29 @@ "randombytes": "^2.0.0" } }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" } }, "doctrine": { @@ -2978,25 +2912,15 @@ "stream-shift": "^1.0.0" } }, - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==" - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + "electron-to-chromium": { + "version": "1.3.73", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.73.tgz", + "integrity": "sha512-6PIg7v9zRoVGh6EheRF8h6Plti+3Yo/qtHobS4/Htyt53DNHmKKGFqSae1AIk0k1S4gCQvt7I2WgpbuZNcDY+g==" }, "elliptic": { "version": "6.4.1", @@ -3018,9 +2942,9 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "encoding": { @@ -3049,11 +2973,6 @@ "tapable": "^1.0.0" } }, - "envinfo": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz", - "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw==" - }, "errno": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", @@ -3062,15 +2981,6 @@ "prr": "~1.0.1" } }, - "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", - "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" - } - }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", @@ -3141,11 +3051,6 @@ "event-emitter": "~0.3.5" } }, - "es6-promise": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz", - "integrity": "sha512-LSas5vsuA6Q4nEdf9wokY5/AJYXry98i0IzXsv49rYsgDGDNDPbqAYR1Pe23iFxygfbGZNR/5VrHXBCh2BhvUQ==" - }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", @@ -3256,6 +3161,15 @@ } } }, + "eslint-config-prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-3.1.0.tgz", + "integrity": "sha512-QYGfmzuc4q4J6XIhlp8vRKdI/fI0tQfQPy1dME3UOLprE+v4ssH/3W9LM2Q7h5qBcy5m0ehCrBDU2YF8q6OY8w==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, "eslint-import-resolver-node": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", @@ -3267,9 +3181,9 @@ } }, "eslint-module-utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { "debug": "^2.6.8", @@ -3277,21 +3191,21 @@ } }, "eslint-plugin-import": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", - "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", + "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", "dev": true, "requires": { - "builtin-modules": "^1.1.1", "contains-path": "^0.1.0", "debug": "^2.6.8", "doctrine": "1.5.0", "eslint-import-resolver-node": "^0.3.1", - "eslint-module-utils": "^2.1.1", + "eslint-module-utils": "^2.2.0", "has": "^1.0.1", - "lodash.cond": "^4.3.0", + "lodash": "^4.17.4", "minimatch": "^3.0.3", - "read-pkg-up": "^2.0.0" + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -3303,6 +3217,15 @@ "esutils": "^2.0.2", "isarray": "^1.0.0" } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } } } }, @@ -3340,6 +3263,12 @@ "estraverse": "^4.1.1" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espree": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", @@ -3408,9 +3337,9 @@ } }, "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", "dev": true }, "events": { @@ -3437,9 +3366,9 @@ } }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", @@ -3458,12 +3387,14 @@ "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "optional": true, "requires": { "is-posix-bracket": "^0.1.0" } @@ -3472,38 +3403,11 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "optional": true, "requires": { "fill-range": "^2.1.0" } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "express": { - "version": "2.5.11", - "resolved": "https://registry.npmjs.org/express/-/express-2.5.11.tgz", - "integrity": "sha1-TOjqHzY15p5J8Ou0l7aksKUc5vA=", - "dev": true, - "requires": { - "connect": "1.x", - "mime": "1.2.4", - "mkdirp": "0.3.0", - "qs": "0.4.x" - }, - "dependencies": { - "mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", - "dev": true - } - } - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -3523,20 +3427,11 @@ } } }, - "external-editor": { - "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "optional": true, "requires": { "is-extglob": "^1.0.0" } @@ -3546,301 +3441,6 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, - "fast-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", - "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -3862,9 +3462,9 @@ } }, "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", @@ -3872,7 +3472,7 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "ua-parser-js": "^0.7.18" }, "dependencies": { "core-js": { @@ -3886,6 +3486,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, "requires": { "escape-string-regexp": "^1.0.5", "object-assign": "^4.1.0" @@ -3904,33 +3505,43 @@ "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "optional": true }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "optional": true, "requires": { "is-number": "^2.1.0", "isobject": "^2.0.0", - "randomatic": "^1.1.3", + "randomatic": "^3.0.0", "repeat-element": "^1.1.2", "repeat-string": "^1.5.2" } }, "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "statuses": "~1.4.0", "unpipe": "~1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } } }, "find-cache-dir": { @@ -3971,14 +3582,6 @@ "pinkie-promise": "^2.0.0" } }, - "first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "requires": { - "readable-stream": "^2.0.2" - } - }, "flat-cache": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", @@ -3991,11 +3594,6 @@ "write": "^0.2.1" } }, - "flow-parser": { - "version": "0.80.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.80.0.tgz", - "integrity": "sha512-9gM1jEJUtDshAoqx0lqrUdyjnKL12A/Ka64cejERTDqhim5dGnWSNcuzJLibAwZ/MmYMMxCB2celPQkxMsSC7g==" - }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -4013,6 +3611,26 @@ "lodash.isplainobject": "^3.2.0" } }, + "follow-redirects": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "dev": true, + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -4022,6 +3640,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "optional": true, "requires": { "for-in": "^1.0.1" } @@ -4031,12 +3650,6 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, - "formidable": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz", - "integrity": "sha1-71SRSQ+UM7cF+qdyScmQKa40hVk=", - "dev": true - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -4087,36 +3700,26 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { - "version": "1.1.0", + "version": "1.1.1", "bundled": true, "optional": true }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { - "version": "1.1.1", + "version": "1.2.0", "bundled": true, "optional": true }, @@ -4129,94 +3732,26 @@ "readable-stream": "^2.0.6" } }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, "balanced-match": { - "version": "0.4.2", + "version": "1.0.0", "bundled": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "optional": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "optional": true, - "requires": { - "hoek": "2.x.x" - } - }, "brace-expansion": { - "version": "1.1.7", + "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^0.4.1", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.0.1", "bundled": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "bundled": true }, "concat-map": { "version": "0.0.1", @@ -4224,39 +3759,15 @@ }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", "bundled": true, "optional": true }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "optional": true, - "requires": { - "boom": "2.x.x" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, "debug": { - "version": "2.6.8", + "version": "2.6.9", "bundled": true, "optional": true, "requires": { @@ -4264,12 +3775,7 @@ } }, "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", + "version": "0.5.1", "bundled": true, "optional": true }, @@ -4279,67 +3785,22 @@ "optional": true }, "detect-libc": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", + "version": "1.0.3", "bundled": true, "optional": true }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "fstream-ignore": { - "version": "1.0.5", "bundled": true, - "optional": true, - "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" - } + "optional": true }, "gauge": { "version": "2.7.4", @@ -4356,24 +3817,10 @@ "wide-align": "^1.1.0" } }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, "glob": { "version": "7.1.2", "bundled": true, + "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4383,58 +3830,31 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "optional": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, "has-unicode": { "version": "2.0.1", "bundled": true, "optional": true }, - "hawk": { - "version": "3.1.3", + "iconv-lite": { + "version": "0.4.21", "bundled": true, "optional": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "safer-buffer": "^2.1.0" } }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "optional": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, + "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4445,116 +3865,52 @@ "bundled": true }, "ini": { - "version": "1.3.4", + "version": "1.3.5", "bundled": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, "isarray": { "version": "1.0.0", "bundled": true, "optional": true }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", + "minimatch": { + "version": "3.0.4", "bundled": true, - "optional": true, "requires": { - "jsonify": "~0.0.0" + "brace-expansion": "^1.1.7" } }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true + "minimist": { + "version": "0.0.8", + "bundled": true }, - "jsprim": { - "version": "1.4.0", + "minipass": { + "version": "2.2.4", "bundled": true, - "optional": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "optional": true - }, - "mime-types": { - "version": "2.1.15", + "minizlib": { + "version": "1.1.0", "bundled": true, "optional": true, "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" + "minipass": "^2.2.1" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "optional": true - }, "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4564,22 +3920,31 @@ "bundled": true, "optional": true }, + "needle": { + "version": "2.2.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, "node-pre-gyp": { - "version": "0.6.39", + "version": "0.10.0", "bundled": true, "optional": true, "requires": { "detect-libc": "^1.0.2", - "hawk": "3.1.3", "mkdirp": "^0.5.1", + "needle": "^2.2.0", "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", "rc": "^1.1.7", - "request": "2.81.0", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" + "tar": "^4" } }, "nopt": { @@ -4587,12 +3952,26 @@ "bundled": true, "optional": true, "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { - "version": "4.1.0", + "version": "4.1.2", "bundled": true, "optional": true, "requires": { @@ -4604,13 +3983,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -4635,44 +4008,30 @@ "optional": true }, "osenv": { - "version": "0.1.4", + "version": "0.1.5", "bundled": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", "bundled": true, "optional": true }, "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "optional": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", + "version": "2.0.0", "bundled": true, "optional": true }, "rc": { - "version": "1.2.1", + "version": "1.2.7", "bundled": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", + "deep-extend": "^0.5.1", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -4686,62 +4045,43 @@ } }, "readable-stream": { - "version": "2.2.9", + "version": "2.3.6", "bundled": true, "optional": true, "requires": { - "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" - } - }, "rimraf": { - "version": "2.6.1", + "version": "2.6.2", "bundled": true, + "optional": true, "requires": { "glob": "^7.0.5" } }, "safe-buffer": { - "version": "5.0.1", + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", "bundled": true, "optional": true }, "semver": { - "version": "5.3.0", + "version": "5.5.0", "bundled": true, "optional": true }, @@ -4755,41 +4095,9 @@ "bundled": true, "optional": true }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "optional": true, - "requires": { - "hoek": "2.x.x" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4797,22 +4105,16 @@ } }, "string_decoder": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "optional": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "~5.1.0" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4823,74 +4125,24 @@ "optional": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "optional": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.2.0", - "fstream": "^1.0.10", - "fstream-ignore": "^1.0.5", - "once": "^1.3.3", - "readable-stream": "^2.1.4", - "rimraf": "^2.5.1", - "tar": "^2.2.1", - "uid-number": "^0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", + "version": "4.4.1", "bundled": true, "optional": true, "requires": { - "punycode": "^1.4.1" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true, "optional": true }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "wide-align": { "version": "1.1.2", "bundled": true, @@ -4902,6 +4154,10 @@ "wrappy": { "version": "1.0.2", "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true } } }, @@ -4935,6 +4191,12 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -4945,72 +4207,6 @@ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "gh-got": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", - "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", - "requires": { - "got": "^7.0.0", - "is-plain-obj": "^1.1.0" - }, - "dependencies": { - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, - "github-username": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", - "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", - "requires": { - "gh-got": "^6.0.0" - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -5024,34 +4220,11 @@ "path-is-absolute": "^1.0.0" } }, - "glob-all": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", - "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", - "requires": { - "glob": "^7.0.5", - "yargs": "~1.2.6" - }, - "dependencies": { - "minimist": { - "version": "0.1.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" - }, - "yargs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", - "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", - "requires": { - "minimist": "^0.1.0" - } - } - } - }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "optional": true, "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -5065,11 +4238,6 @@ "is-glob": "^2.0.0" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -5078,27 +4246,10 @@ "ini": "^1.3.4" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } + "global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==" }, "globals": { "version": "9.18.0", @@ -5120,34 +4271,21 @@ } }, "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "version": "6.7.1", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", + "create-error-class": "^3.0.0", "duplexer3": "^0.1.4", "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -5155,13 +4293,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, - "grouped-queue": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", - "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", - "requires": { - "lodash": "^4.17.2" - } + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true }, "has": { "version": "1.0.1", @@ -5180,35 +4316,16 @@ "ansi-regex": "^2.0.0" } }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" - }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -5292,9 +4409,9 @@ } }, "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" }, "home-or-tmp": { "version": "2.0.0", @@ -5305,32 +4422,67 @@ "os-tmpdir": "^1.0.1" } }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "requires": { - "parse-passwd": "^1.0.0" - } - }, "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, "http-assert": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.3.0.tgz", - "integrity": "sha1-oxpc+IyHPsu1eWkH1NbxMujAHko=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.0.tgz", + "integrity": "sha512-tPVv62a6l3BbQoM/N5qo969l0OFxqpnQzNUPeYfTP6Spo4zkgWeDBD1D5thI7sDLg7jCCihXTLB0X8UtdyAy8A==", "requires": { "deep-equal": "~1.0.1", - "http-errors": "~1.6.1" + "http-errors": "~1.7.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "http-errors": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.1.tgz", + "integrity": "sha512-jWEUgtZWGSMba9I1N3gc1HmvpBUaNC9vDdA46yScAdp+C5rdEuKWUBLWTQpW9FwSWSbYYs++b6SDCxf9UEJzfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true }, "http-errors": { "version": "1.6.2", @@ -5351,46 +4503,321 @@ } }, "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", "dev": true }, "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-proxy-middleware": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "version": "0.18.0", + "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { "http-proxy": "^1.16.2", - "is-glob": "^3.1.0", - "lodash": "^4.17.2", - "micromatch": "^2.3.11" + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" }, "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } @@ -5423,7 +4850,8 @@ "ignore": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true }, "import-lazy": { "version": "2.1.0", @@ -5492,9 +4920,9 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inline-style-prefixer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-4.0.0.tgz", - "integrity": "sha1-MKA98bNGumsfuKgSvDydq+9IAi0=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-4.0.2.tgz", + "integrity": "sha512-N8nVhwfYga9MiV9jWlwfdj1UDIaZlBFu4cJSJkIr7tZX7sHpHhGR5su1qdpW+7KPL8ISTvCIkcaFi/JdBknvPg==", "requires": { "bowser": "^1.7.3", "css-in-js-utils": "^2.0.0" @@ -5521,20 +4949,21 @@ "through": "^2.3.6" } }, + "internal-ip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", + "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "dev": true, + "requires": { + "default-gateway": "^2.6.0", + "ipaddr.js": "^1.5.2" + } + }, "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, "invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", @@ -5544,14 +4973,26 @@ } }, "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", "dev": true }, "is-accessor-descriptor": { @@ -5595,11 +5036,11 @@ "dev": true }, "is-ci": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.0.tgz", - "integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "requires": { - "ci-info": "^1.3.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5641,12 +5082,14 @@ "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "optional": true }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "optional": true, "requires": { "is-primitive": "^2.0.0" } @@ -5720,6 +5163,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "optional": true, "requires": { "kind-of": "^3.0.2" } @@ -5729,19 +5173,6 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -5788,17 +5219,14 @@ "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "optional": true }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "optional": true }, "is-property": { "version": "1.0.2", @@ -5831,14 +5259,6 @@ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" }, - "is-scoped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", - "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", - "requires": { - "scoped-regex": "^1.0.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5850,11 +5270,6 @@ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, "is-windows": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", @@ -5870,14 +5285,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "requires": { - "buffer-alloc": "^1.2.0" - } - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5887,6 +5294,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "optional": true, "requires": { "isarray": "1.0.0" } @@ -5900,25 +5308,6 @@ "whatwg-fetch": ">=0.10.0" } }, - "istextorbinary": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", - "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", - "requires": { - "binaryextensions": "2", - "editions": "^1.3.3", - "textextensions": "2" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -5933,45 +5322,11 @@ "esprima": "^4.0.0" } }, - "jscodeshift": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.1.tgz", - "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^7.0.0-beta.47", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "neo-async": "^2.5.0", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.15.0", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - }, - "dependencies": { - "babylon": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", - "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==" - } - } - }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", @@ -6031,23 +5386,9 @@ "dev": true }, "keygrip": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.2.tgz", - "integrity": "sha1-rTKXxVcGneqLz+ek+kkbdcXd65E=" - }, - "keypress": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz", - "integrity": "sha1-HoBFQlABjbrUw/6USX1uZ7YmnHc=", - "dev": true - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz", + "integrity": "sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==" }, "killable": { "version": "1.0.0", @@ -6063,16 +5404,16 @@ } }, "koa": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.5.2.tgz", - "integrity": "sha512-MoVGWre9g3p35pCqXNhOT/a4trwK5CGvalIoPi7qOA2RCZaep3GCsa/G/tD9QMjQI7bmVWn3XF3SOau8RkPh6w==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.5.3.tgz", + "integrity": "sha512-U6rgy2kwlfO+3P1phAidDrRZpGfwcpHCxl33wFe+fHXalpzEshHGnMaSU7I/ZeDFpGRQkbQOYsXkXfUjn+AtdQ==", "requires": { "accepts": "^1.3.5", "cache-content-type": "^1.0.0", "content-disposition": "~0.5.2", "content-type": "^1.0.4", "cookies": "~0.7.1", - "debug": "^3.1.0", + "debug": "~3.1.0", "delegates": "^1.0.0", "depd": "^1.1.2", "destroy": "^1.0.4", @@ -6093,15 +5434,6 @@ "vary": "^1.1.2" }, "dependencies": { - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -6116,9 +5448,9 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "http-errors": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.0.tgz", - "integrity": "sha512-hz3BtSHB7Z6dNWzYc+gUbWqG4dIpJedwwOhe1cvGUq5tGmcTTIRkPiAbyh/JlZx+ksSJyGJlgcHo5jGahiXnKw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.1.tgz", + "integrity": "sha512-jWEUgtZWGSMba9I1N3gc1HmvpBUaNC9vDdA46yScAdp+C5rdEuKWUBLWTQpW9FwSWSbYYs++b6SDCxf9UEJzfw==", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -6127,32 +5459,10 @@ "toidentifier": "1.0.0" } }, - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==" - }, - "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", - "requires": { - "mime-db": "~1.36.0" - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } } } }, @@ -6186,57 +5496,17 @@ "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=" }, "koa-webpack": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/koa-webpack/-/koa-webpack-4.0.0.tgz", - "integrity": "sha512-P+j2TzeZAqFwscd/dlLykk/sxwr6wQ5Tp3FYDhqv1+y9aRIffTPnu2zK+1BhfM+Kyh8bepU1jFR420maE+Vajw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/koa-webpack/-/koa-webpack-5.1.0.tgz", + "integrity": "sha512-XNqqtPpMvccXK3tAs0vW6YoO4+uYaxarutsgCZjNi3NyvmmVBvIH6l6xGk0NtiJR1m0oa53gFHLSiT19ZseOCw==", "requires": { + "@webpack-contrib/schema-utils": "^1.0.0-beta.0", "app-root-path": "^2.0.1", + "loud-rejection": "^1.6.0", "merge-options": "^1.0.0", "webpack-dev-middleware": "^3.0.0", - "webpack-hot-client": "^3.0.0", + "webpack-hot-client": "^4.1.0", "webpack-log": "^1.1.1" - }, - "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" - }, - "url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "webpack-dev-middleware": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz", - "integrity": "sha512-YJLMF/96TpKXaEQwaLEo+Z4NDK8aV133ROF6xp9pe3gQoS7sxfpXh4Rv9eC+8vCvWfmDjRQaMSlRPbO+9G6jgA==", - "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.3.1", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - } - } - } } }, "latest-version": { @@ -6248,11 +5518,11 @@ } }, "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" } }, "levn": { @@ -6265,73 +5535,6 @@ "type-check": "~0.3.2" } }, - "listr": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.2.tgz", - "integrity": "sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.4.0", - "listr-verbose-renderer": "^0.4.0", - "p-map": "^1.1.1", - "rxjs": "^6.1.0" - }, - "dependencies": { - "rxjs": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.1.tgz", - "integrity": "sha512-hRVfb1Mcf8rLXq1AZEjYpzBnQbO7Duveu1APXkWRTvqzhmkoQ40Pl2F9Btacx+gJCOqsMiugCGG4I2HPQgJRtA==", - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" - }, - "listr-update-renderer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", - "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^1.0.2", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "requires": { - "chalk": "^1.0.0" - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", - "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", - "requires": { - "chalk": "^1.1.3", - "cli-cursor": "^1.0.2", - "date-fns": "^1.27.2", - "figures": "^1.7.0" - } - }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -6345,9 +5548,9 @@ } }, "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", + "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==" }, "loader-utils": { "version": "1.1.0", @@ -6376,9 +5579,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "lodash-es": { "version": "4.17.4", @@ -6390,12 +5593,6 @@ "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=" }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -6456,11 +5653,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -6471,14 +5663,11 @@ } } }, - "log-update": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", - "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", - "requires": { - "ansi-escapes": "^1.0.0", - "cli-cursor": "^1.0.2" - } + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true }, "loglevelnext": { "version": "1.0.5", @@ -6489,11 +5678,6 @@ "object.assign": "^4.1.0" } }, - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", @@ -6540,10 +5724,13 @@ } } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + "map-age-cleaner": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", + "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", + "requires": { + "p-defer": "^1.0.0" + } }, "map-cache": { "version": "0.2.2", @@ -6563,102 +5750,47 @@ "object-visit": "^1.0.0" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "optional": true + }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } } }, + "meant": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", + "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mem-fs": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", - "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", - "requires": { - "through2": "^2.0.0", - "vinyl": "^1.1.0", - "vinyl-file": "^2.0.0" - } - }, - "mem-fs-editor": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz", - "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", - "requires": { - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^2.5.9", - "glob": "^7.0.3", - "globby": "^7.1.1", - "isbinaryfile": "^3.0.2", - "mkdirp": "^0.5.0", - "multimatch": "^2.0.0", - "rimraf": "^2.2.8", - "through2": "^2.0.0", - "vinyl": "^2.0.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" } }, "memory-fs": { @@ -6745,14 +5877,6 @@ "find-up": "^2.0.0", "read-pkg": "^3.0.0" } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -6770,11 +5894,6 @@ "is-plain-obj": "^1.1" } }, - "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -6785,6 +5904,7 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "optional": true, "requires": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -6811,10 +5931,9 @@ } }, "mime": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz", - "integrity": "sha1-EbX9rynCUJJVF2uArVIClPXekrc=", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" }, "mime-db": { "version": "1.30.0", @@ -6836,11 +5955,6 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6935,17 +6049,22 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, "mute-stream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", @@ -6963,9 +6082,9 @@ } }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", "optional": true }, "nanoassert": { @@ -6974,10 +6093,11 @@ "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=" }, "nanobus": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.3.3.tgz", - "integrity": "sha512-4/uzl+LkMGoVv/9eMzH2QFvefmlJErT0KR7EmuYbmht2QvxSEqTjhFFOZ/KHE6chH58fKL3njrOcEwbYV0h9Yw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.3.4.tgz", + "integrity": "sha512-N1IBreECNaxmsaOLMqqm01K7XIp+sMvoVX8mvmT/p1VjM2FLcBU0lj0FalKooi2/2i+ph9WsEoEogOJevqQ6LQ==", "requires": { + "nanoassert": "^1.1.0", "nanotiming": "^7.2.0", "remove-array-items": "^1.0.0" } @@ -7060,11 +6180,6 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "node-dir": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", - "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=" - }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -7074,6 +6189,12 @@ "is-stream": "^1.0.1" } }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true + }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", @@ -7111,36 +6232,10 @@ } } }, - "nomnom": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", - "requires": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=" - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=" - } - } + "node-version": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz", + "integrity": "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==" }, "normalize-package-data": { "version": "2.4.0", @@ -7161,28 +6256,6 @@ "remove-trailing-separator": "^1.0.1" } }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "dependencies": { - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - } - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -7256,6 +6329,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "optional": true, "requires": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" @@ -7276,6 +6350,12 @@ } } }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -7301,19 +6381,14 @@ "onetime": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true }, "only": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", - "dev": true - }, "opn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", @@ -7322,16 +6397,6 @@ "is-wsl": "^1.1.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -7355,24 +6420,12 @@ } }, "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "1.0.x" - }, - "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.x", - "requires-port": "1.0.x" - } - } + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -7386,13 +6439,46 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + } } }, "os-tmpdir": { @@ -7410,18 +6496,10 @@ "object-assign": "^4.1.0" } }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-each-series": { + "p-defer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "requires": { - "p-reduce": "^1.0.0" - } + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-finally": { "version": "1.0.0", @@ -7433,11 +6511,6 @@ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" }, - "p-lazy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", - "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=" - }, "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", @@ -7457,19 +6530,21 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true }, "p-reduce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "p-series": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-series/-/p-series-1.1.0.tgz", + "integrity": "sha512-356covArc9UCfj2twY/sxCJKGMzzO+pJJtucizsPC6aS1xKSTBc9PQrQhvFR3+7F+fa2KBKdJjdIcv6NEWDcIQ==", "requires": { - "p-finally": "^1.0.0" + "@sindresorhus/is": "^0.7.0", + "p-reduce": "^1.0.0" } }, "p-try": { @@ -7486,39 +6561,6 @@ "registry-auth-token": "^3.0.1", "registry-url": "^3.0.3", "semver": "^5.1.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - } } }, "pako": { @@ -7552,6 +6594,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "optional": true, "requires": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -7568,11 +6611,6 @@ "error-ex": "^1.2.0" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - }, "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", @@ -7638,9 +6676,9 @@ } }, "pbkdf2": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", - "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -7652,17 +6690,20 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -7682,6 +6723,17 @@ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", "dev": true }, + "portfinder": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz", + "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==", + "dev": true, + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + } + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -7694,24 +6746,21 @@ "dev": true }, "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "optional": true }, "prettier": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.2.tgz", - "integrity": "sha512-McHPg0n1pIke+A/4VcaS2en+pTNjy4xF+Uuq86u/5dyDO59/TtFZtQ708QIRkEZ3qwKz3GVkVa6mpxK/CpB8Rg==" - }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.3.tgz", + "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", + "dev": true }, "private": { "version": "0.1.8", @@ -7748,23 +6797,22 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.8.0" } }, "prr": { @@ -7778,15 +6826,23 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "public-encrypt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", - "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } } }, "pump": { @@ -7813,12 +6869,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "qs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz", - "integrity": "sha1-PKxMhh43GoycR3CsI82o3mObjl8=", - "dev": true - }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -7839,9 +6889,9 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", "dev": true }, "quick-lru": { @@ -7850,9 +6900,9 @@ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" }, "radium": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/radium/-/radium-0.22.0.tgz", - "integrity": "sha512-9zOYegr4gXfgDiVcf02Qyj8zzupmYSTtIhxvSU/42Ls1Q/+r1cisuGUUJ5m06Ha2cc/f3e5vMM80rj2l34Slew==", + "version": "0.22.1", + "resolved": "http://registry.npmjs.org/radium/-/radium-0.22.1.tgz", + "integrity": "sha512-R9qMVhhEiW4su23XL11EcHIcg2iHJXty4lqEeuW4TbhBwFrnJgM/3VfCWiCmenM+05VA7Oao4LezPQNd/F6t9g==", "requires": { "exenv": "^1.2.1", "inline-style-prefixer": "^4.0.0", @@ -7865,39 +6915,27 @@ "integrity": "sha1-zNE//3NJepOXTj6GMnv9h71ujis=" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", + "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "optional": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "optional": true }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "optional": true } } }, @@ -8004,34 +7042,18 @@ } }, "react-redux": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.8.tgz", - "integrity": "sha1-57wd0QDotk6WrIIS2xEyObni4I8=", + "version": "4.4.9", + "resolved": "http://registry.npmjs.org/react-redux/-/react-redux-4.4.9.tgz", + "integrity": "sha512-3XS7mjTOcvaP2H5OE/LxEgDHRuEyTZxBRlwvXHzNqYkZdYd7Ra98AimWoDSHP9OcLoydjA1ocgiZxxcqeXj0Sw==", "requires": { "create-react-class": "^15.5.1", - "hoist-non-react-statics": "^1.0.3", + "hoist-non-react-statics": "^2.5.0", "invariant": "^2.0.0", "lodash": "^4.2.0", "loose-envify": "^1.1.0", "prop-types": "^15.5.4" } }, - "read-chunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", - "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", - "requires": { - "pify": "^3.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -8100,28 +7122,11 @@ "mute-stream": "0.0.5" } }, - "recast": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.3.tgz", - "integrity": "sha512-xqnagxQH7mL4+UpcCVMObPPdjCEE2dmfGcTwcdpyNgZOd9W0rfdLRF3+smoA+AQqMw6xK6G4021dAQK8XfPYIQ==", - "requires": { - "ast-types": "0.11.5", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, "requires": { "resolve": "^1.1.6" } @@ -8170,9 +7175,9 @@ } }, "redux-thunk": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz", - "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU=" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" }, "regenerate": { "version": "1.3.3", @@ -8198,6 +7203,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "optional": true, "requires": { "is-equal-shallow": "^0.1.3" } @@ -8286,11 +7292,6 @@ "is-finite": "^1.0.0" } }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -8321,6 +7322,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, "requires": { "path-parse": "^1.0.5" } @@ -8340,15 +7342,6 @@ } } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", @@ -8369,18 +7362,11 @@ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, "requires": { "exit-hook": "^1.0.0", "onetime": "^1.0.0" @@ -8431,21 +7417,6 @@ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "requires": { - "symbol-observable": "1.0.1" - }, - "dependencies": { - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" - } - } - }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -8459,11 +7430,6 @@ "ret": "~0.1.10" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", @@ -8474,9 +7440,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -8491,10 +7457,20 @@ } } }, - "scoped-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", - "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=" + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } }, "semver": { "version": "5.4.1", @@ -8510,15 +7486,15 @@ } }, "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.1", + "depd": "~1.1.2", "destroy": "~1.0.4", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", @@ -8527,14 +7503,26 @@ "ms": "2.0.0", "on-finished": "~2.3.0", "range-parser": "~1.2.0", - "statuses": "~1.3.1" + "statuses": "~1.4.0" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true } } }, @@ -8543,29 +7531,6 @@ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==" }, - "serv": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/serv/-/serv-0.2.4.tgz", - "integrity": "sha1-rT4NSspS1L+5F56mq4vvNgPZ1w0=", - "dev": true, - "requires": { - "express": "~2.5", - "keypress": "~0.2", - "open": "0.0.5", - "optimist": "~0.3" - }, - "dependencies": { - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "dev": true, - "requires": { - "wordwrap": "~0.0.2" - } - } - } - }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -8582,15 +7547,15 @@ } }, "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.2", - "send": "0.16.1" + "send": "0.16.2" } }, "set-blocking": { @@ -8688,12 +7653,8 @@ "slice-ansi": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true }, "snapdragon": { "version": "0.8.2", @@ -8803,9 +7764,9 @@ } }, "sockjs-client": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", "dev": true, "requires": { "debug": "^2.6.6", @@ -8827,14 +7788,6 @@ } } }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -8888,6 +7841,35 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" + } + }, + "spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -8942,12 +7924,6 @@ "readable-stream": "^2.0.2" } }, - "stream-cache": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", - "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=", - "dev": true - }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -9008,11 +7984,6 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -9044,25 +8015,6 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, - "strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", - "requires": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -9140,606 +8092,910 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" }, - "temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "time-fix-plugin": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/time-fix-plugin/-/time-fix-plugin-2.0.3.tgz", + "integrity": "sha512-5StGdiXCiBsq2+RdBQ0NrunFeKqVX0f2Myn8s1YqOxRS+kmuiHcdpPm27ucbM6FYawBKGTOOYxPnqxIBZyiqEg==" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + }, + "dependencies": { + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==" + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "requires": { + "mime-db": "~1.36.0" + } + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "ua-parser-js": { + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "execa": "^0.7.0" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "textextensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", - "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==" - }, - "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "requires": { - "any-promise": "^1.0.0" + "unique-slug": "^2.0.0" } }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "unique-slug": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", "requires": { - "thenify": ">= 3.1.0 < 4" + "imurmurhash": "^0.1.4" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "crypto-random-string": "^1.0.0" } }, - "time-fix-plugin": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/time-fix-plugin/-/time-fix-plugin-2.0.3.tgz", - "integrity": "sha512-5StGdiXCiBsq2+RdBQ0NrunFeKqVX0f2Myn8s1YqOxRS+kmuiHcdpPm27ucbM6FYawBKGTOOYxPnqxIBZyiqEg==" - }, - "time-stamp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "os-tmpdir": "~1.0.2" + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "requires": { - "kind-of": "^3.0.2" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "punycode": "^2.1.0" } }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "punycode": "1.3.2", + "querystring": "0.2.0" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - } + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, - "toidentifier": { + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=" + }, + "url-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, - "trim-right": { + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==" }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "requires": { - "prelude-ls": "~1.1.2" + "user-home": "^1.1.1" } }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.15" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" }, "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=" - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "is-extendable": "^0.1.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } - } - } - }, - "unique-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "isarray": "1.0.0" + "is-extglob": "^2.1.0" } } } }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } - } - }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==" - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, - "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "color-convert": "^1.9.0" + "kind-of": "^6.0.0" } }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "requires": { + "is-extglob": "^2.1.1" } }, - "has-flag": { + "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "has-flag": "^3.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } } - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-join": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-3.0.0.tgz", - "integrity": "sha1-JugROs4ZXqMND8OBhuRUAPnOpnI=" - }, - "url-parse": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", - "dev": true, - "requires": { - "querystringify": "~1.0.0", - "requires-port": "~1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true - } - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" - }, - "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==" - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "requires": { - "user-home": "^1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", - "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^1.1.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "is-utf8": "^0.2.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, "requires": { - "indexof": "0.0.1" + "minimalistic-assert": "^1.0.0" } }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "webpack": { + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", + "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", + "requires": { + "@webassemblyjs/ast": "1.7.8", + "@webassemblyjs/helper-module-context": "1.7.8", + "@webassemblyjs/wasm-edit": "1.7.8", + "@webassemblyjs/wasm-parser": "1.7.8", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + }, + "ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -9768,33 +9024,13 @@ }, "dependencies": { "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "expand-brackets": { @@ -9905,512 +9141,31 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "string-width": "^1.0.2" + "is-extendable": "^0.1.0" } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true } } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extglob": "^2.1.0" + "is-extendable": "^0.1.0" } } } @@ -10441,19 +9196,6 @@ "kind-of": "^6.0.2" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -10502,55 +9244,203 @@ "to-regex": "^3.0.2" } }, - "nan": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", - "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", - "optional": true + "tapable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", + "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==" } } }, - "webpack": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.17.1.tgz", - "integrity": "sha512-vdPYogljzWPhFKDj3Gcp01Vqgu7K3IQlybc3XIdKSQHelK1C3eIQuysEUR7MxKJmdandZlQB/9BG2Jb1leJHaw==", - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/wasm-edit": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "webpack-cli": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", + "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "requires": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", + "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "requires": { "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" + "mime": "^2.3.1", + "range-parser": "^1.0.3", + "webpack-log": "^2.0.0" }, "dependencies": { - "acorn": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", - "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==" + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + } + } + }, + "webpack-dev-server": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.9.tgz", + "integrity": "sha512-fqPkuNalLuc/hRC2QMkVYJkgNmRvxZQo7ykA2e1XRg/tMJm3qY7ZaD6d89/Fqjxtj9bOrn5wZzLD2n84lJdvWg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^2.0.0", + "internal-ip": "^3.0.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "schema-utils": "^1.0.0", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.4.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.2" + }, + "dependencies": { "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -10561,22 +9451,48 @@ "ajv-keywords": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -10594,16 +9510,113 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -10614,10 +9627,20 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -10626,6 +9649,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10634,6 +9658,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -10642,6 +9667,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -10652,6 +9678,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -10660,6 +9687,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -10670,6 +9698,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -10679,7 +9708,57 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "express": { + "version": "4.16.3", + "resolved": "http://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } } } }, @@ -10687,6 +9766,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10702,6 +9782,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10710,6 +9791,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10720,6 +9802,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10731,882 +9814,422 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } - } - }, - "webpack-addons": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", - "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", - "requires": { - "jscodeshift": "^0.4.0" - }, - "dependencies": { - "ast-types": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", - "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==" - }, - "jscodeshift": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", - "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", - "requires": { - "async": "^1.5.0", - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^6.17.3", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.12.5", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - } - }, - "recast": { - "version": "0.12.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", - "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", - "requires": { - "ast-types": "0.10.1", - "core-js": "^2.4.1", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "webpack-cli": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.5.tgz", - "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "diff": "^3.5.0", - "enhanced-resolve": "^4.0.0", - "envinfo": "^5.7.0", - "glob-all": "^3.1.0", - "global-modules": "^1.0.0", - "got": "^8.3.1", - "import-local": "^1.0.0", - "inquirer": "^5.2.0", - "interpret": "^1.1.0", - "jscodeshift": "^0.5.0", - "listr": "^0.14.1", - "loader-utils": "^1.1.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mkdirp": "^0.5.1", - "p-each-series": "^1.0.0", - "p-lazy": "^1.0.0", - "prettier": "^1.12.1", - "supports-color": "^5.4.0", - "v8-compile-cache": "^2.0.0", - "webpack-addons": "^1.1.5", - "yargs": "^11.1.0", - "yeoman-environment": "^2.1.1", - "yeoman-generator": "^2.0.5" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { + "find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "^2.1.0" - } - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "locate-path": "^3.0.0" } - } - } - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "dev": true, - "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "1.16.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.5.tgz", - "integrity": "sha1-DL1fLSrI1OWTqs1clwLnu9XlmJI=", - "dev": true, - "requires": { - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "express": "^4.13.3", - "http-proxy-middleware": "~0.17.1", - "open": "0.0.5", - "optimist": "~0.6.1", - "serve-index": "^1.7.2", - "sockjs": "^0.3.15", - "sockjs-client": "^1.0.3", - "stream-cache": "~0.0.1", - "strip-ansi": "^3.0.0", - "supports-color": "^3.1.1", - "webpack-dev-middleware": "^1.10.2" - }, - "dependencies": { - "express": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", - "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "accepts": "~1.3.4", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.1", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.0", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.2", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", - "setprototypeof": "1.1.0", - "statuses": "~1.3.1", - "type-is": "~1.6.15", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "has-flag": "^1.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" } - } - } - }, - "webpack-hot-client": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-hot-client/-/webpack-hot-client-3.0.0.tgz", - "integrity": "sha512-6k91015hZ4Okkz8u6OzRgJygEL+3J3ay6HVZhWBF3tT2P0rZJ0mgca39dotJxngggUm3S8707c0vrcynn1IzEQ==", - "requires": { - "json-stringify-safe": "^5.0.1", - "loglevelnext": "^1.0.2", - "strip-ansi": "^4.0.0", - "uuid": "^3.1.0", - "webpack-log": "^1.1.1", - "ws": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "kind-of": "^6.0.0" } - } - } - }, - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "kind-of": "^6.0.0" } }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "webpack-partial": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/webpack-partial/-/webpack-partial-1.5.0.tgz", - "integrity": "sha1-co+vHtg60cqa8xwQyqfFvOL5f54=", - "requires": { - "lodash": "^4.12.0" - } - }, - "webpack-serve": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/webpack-serve/-/webpack-serve-1.0.4.tgz", - "integrity": "sha512-WhI9PMY2YLFliZhDsQFE5Os/On5Py6DGZpeBJyDM8xl0cspxgvXmWFywACn2YWWDgowqIxRqveyGh2RwdFWTNQ==", - "requires": { - "@shellscape/koa-static": "^4.0.4", - "@webpack-contrib/config-loader": "^1.1.1", - "chalk": "^2.3.0", - "clipboardy": "^1.2.2", - "cosmiconfig": "^5.0.2", - "debug": "^3.1.0", - "find-up": "^2.1.0", - "get-port": "^3.2.0", - "import-local": "^1.0.0", - "killable": "^1.0.0", - "koa": "^2.4.1", - "koa-webpack": "^4.0.0", - "lodash": "^4.17.5", - "loud-rejection": "^1.6.0", - "meow": "^5.0.0", - "nanobus": "^4.3.1", - "opn": "^5.1.0", - "resolve": "^1.6.0", - "time-fix-plugin": "^2.0.0", - "update-notifier": "^2.3.0", - "url-join": "3.0.0", - "v8-compile-cache": "^2.0.0", - "webpack-hot-client": "^3.0.0", - "webpack-log": "^1.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "is-extglob": "^2.1.1" } }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { - "ms": "2.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, "requires": { - "locate-path": "^2.0.0" + "invert-kv": "^2.0.0" } }, - "has-flag": { + "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "mem": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" + } }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { - "path-parse": "^1.0.5" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "os-locale": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } - } - } - }, - "webpack-sources": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", - "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "widest-line": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", - "requires": { - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "is-fullwidth-code-point": { + "p-limit": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "p-try": "^2.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "p-limit": "^2.0.0" } - } - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "requires": { - "errno": "~0.1.7" - }, - "dependencies": { - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "requires": { - "prr": "~1.0.1" + "find-up": "^3.0.0" } - } - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "ws": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", - "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "requires": { - "locate-path": "^2.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "has-flag": "^3.0.0" } }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } } } }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "requires": { - "camelcase": "^4.1.0" - } - }, - "yeoman-environment": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.3.tgz", - "integrity": "sha512-HBpXdNw8V66EwqIFt01rNhSgX33BOzgVb9CxpIvESvCI4ELeOSniB6gV6RXwrBur8kmHZCIAkYQYpib7Qxx8FQ==", + "webpack-hot-client": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-hot-client/-/webpack-hot-client-4.1.1.tgz", + "integrity": "sha512-Gu3hEkFJIsvC+2Dg86FvAzIL8KSR88Ptk0QnV4wEucObB0c9aMIYbjSA9oPTV4X5OZRH6ftrk4FcSGsZmTLiWA==", "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "diff": "^3.5.0", - "escape-string-regexp": "^1.0.2", - "globby": "^8.0.1", - "grouped-queue": "^0.3.3", - "inquirer": "^6.0.0", - "is-scoped": "^1.0.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mem-fs": "^1.1.0", + "@webpack-contrib/schema-utils": "^1.0.0-beta.0", + "json-stringify-safe": "^5.0.1", + "loglevelnext": "^1.0.2", + "merge-options": "^1.0.1", "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "untildify": "^3.0.3" + "uuid": "^3.1.0", + "webpack-log": "^1.1.1", + "ws": "^4.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + }, + "dependencies": { "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -11625,161 +10248,192 @@ "supports-color": "^5.3.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "has-flag": "^3.0.0" } + } + } + }, + "webpack-serve": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/webpack-serve/-/webpack-serve-2.0.2.tgz", + "integrity": "sha512-KQra2vayPKE2gooZRr2jF0Cs9AcQrS60Dmc6gMlFn4DmPkk/EmCuCODiAw008XedjwMBt8kUapDXJVu4gDH9Mg==", + "requires": { + "@shellscape/koa-static": "^4.0.4", + "@webpack-contrib/cli-utils": "^1.0.2", + "@webpack-contrib/config-loader": "^1.1.1", + "@webpack-contrib/schema-utils": "^1.0.0-beta.0", + "chalk": "^2.3.0", + "clipboardy": "^1.2.2", + "cosmiconfig": "^5.0.2", + "debug": "^3.1.0", + "decamelize": "^2.0.0", + "get-port": "^3.2.0", + "import-local": "^1.0.0", + "is-plain-obj": "^1.1.0", + "killable": "^1.0.0", + "koa": "^2.4.1", + "koa-webpack": "^5.1.0", + "loud-rejection": "^1.6.0", + "mem": "^3.0.0", + "meow": "^5.0.0", + "merge-options": "^1.0.1", + "nanobus": "^4.3.1", + "node-version": "^1.1.3", + "opn": "^5.1.0", + "p-defer": "^1.0.0", + "p-series": "^1.1.0", + "resolve": "^1.6.0", + "strip-ansi": "^4.0.0", + "time-fix-plugin": "^2.0.0", + "update-notifier": "^2.3.0", + "url-join": "^4.0.0", + "v8-compile-cache": "^2.0.0", + "webpack-log": "^1.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "ms": "2.0.0" + "color-convert": "^1.9.0" } }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", "requires": { - "escape-string-regexp": "^1.0.5" + "ms": "^2.1.1" } }, - "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "mem": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-3.0.1.tgz", + "integrity": "sha512-QKs47bslvOE0NbXOqG6lMxn6Bk0Iuw0vfrIeLykmQle2LkCw1p48dZDdzE+D88b/xqRJcZGcMNeDvSVma+NuIQ==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "path-parse": "^1.0.5" } }, - "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "ansi-regex": "^3.0.0" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "mimic-fn": "^1.0.0" + "has-flag": "^3.0.0" } - }, - "pify": { + } + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "restore-cursor": { + "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.1.tgz", - "integrity": "sha512-hRVfb1Mcf8rLXq1AZEjYpzBnQbO7Duveu1APXkWRTvqzhmkoQ40Pl2F9Btacx+gJCOqsMiugCGG4I2HPQgJRtA==", - "requires": { - "tslib": "^1.9.0" - } - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "string-width": { "version": "2.1.1", @@ -11797,203 +10451,201 @@ "requires": { "ansi-regex": "^3.0.0" } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } } } }, - "yeoman-generator": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", - "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "requires": { - "async": "^2.6.0", - "chalk": "^2.3.0", - "cli-table": "^0.3.1", - "cross-spawn": "^6.0.5", - "dargs": "^5.1.0", - "dateformat": "^3.0.3", - "debug": "^3.1.0", - "detect-conflict": "^1.0.0", - "error": "^7.0.2", - "find-up": "^2.1.0", - "github-username": "^4.0.0", - "istextorbinary": "^2.2.1", - "lodash": "^4.17.10", - "make-dir": "^1.1.0", - "mem-fs-editor": "^4.0.0", - "minimist": "^1.2.0", - "pretty-bytes": "^4.0.2", - "read-chunk": "^2.1.0", - "read-pkg-up": "^3.0.0", - "rimraf": "^2.6.2", - "run-async": "^2.0.0", - "shelljs": "^0.8.0", - "text-table": "^0.2.0", - "through2": "^2.0.0", - "yeoman-environment": "^2.0.5" + "errno": "~0.1.7" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "^4.17.10" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "prr": "~1.0.1" } + } + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", "requires": { - "ms": "2.0.0" + "xregexp": "4.0.0" } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "locate-path": "^3.0.0" } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "path-type": { + "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "pify": "^3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "p-try": "^2.0.0" } }, - "read-pkg-up": { + "p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "p-limit": "^2.0.0" } }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "^2.1.0" - } + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, - "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "has-flag": "^3.0.0" + "ansi-regex": "^3.0.0" } } } }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "requires": { + "camelcase": "^4.1.0" + } + }, "ylru": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", diff --git a/package.json b/package.json index a6942a5..213d78e 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,11 @@ "prepublish": "npm test && npm run build:prod && npm run build:dev", "publish-all": "npm publish && echo \"twine!!!\"", "publish-pypi": "npm run prepublish && python setup.py sdist upload", - "server": "serv -p 8080 .", "build:dev": "webpack --mode development", "build:prod": "webpack --mode production", "start": "webpack-serve ./webpack.serve.config.js", + "format": "prettier --config .prettierrc --write src/**/*.js", + "format:test": "prettier --config .prettierrc src/**/*.js --list-different", "test": "npm run lint" }, "author": "chriddyp", @@ -21,39 +22,37 @@ "babel-core": "^6.26.3", "babel-loader": "^7.1.5", "babel-polyfill": "^6.23.0", - "babel-preset-es2015": "^6.6.0", - "babel-preset-react": "^6.5.0", - "clean-webpack-plugin": "^0.1.9", + "babel-preset-env": "^1.7.0", + "babel-preset-react": "^6.24.1", + "clean-webpack-plugin": "^0.1.19", "cookie": "^0.3.1", "cross-env": "^4.0.0", "dependency-graph": "^0.5.0", - "es6-promise": "^4.1.0", "json-loader": "^0.5.4", - "prop-types": "^15.6.0", + "prop-types": "^15.6.2", "query-string": "^4.3.2", - "radium": "^0.22.0", + "radium": "^0.22.1", "ramda": "^0.23.0", "react": "^15.6.2", "react-dom": "^15.6.2", - "react-redux": "^4.4.5", + "react-redux": "^4.4.9", "redux": "^3.4.0", "redux-actions": "^0.9.1", - "redux-thunk": "^2.0.1", - "webpack": "^4.8.3", - "webpack-cli": "^2.1.3", - "webpack-partial": "^1.2.0", - "webpack-serve": "^1.0.2", - "whatwg-fetch": "^2.0.2" + "redux-thunk": "^2.3.0", + "webpack": "^4.20.2", + "webpack-cli": "^3.1.1", + "webpack-serve": "^2.0.2", + "whatwg-fetch": "^2.0.4" }, "devDependencies": { - "babel-plugin-transform-es2015-modules-commonjs-simple": "^6.7.4", - "babel-preset-es2015-webpack": "^6.4.1", + "babel-eslint": "^10.0.1", "eslint": "^3.15.0", - "eslint-plugin-import": "^2.2.0", + "eslint-config-prettier": "^3.1.0", + "eslint-plugin-import": "^2.14.0", "eslint-plugin-react": "^6.9.0", + "prettier": "^1.14.3", "react-hot-loader": "^1.3.0", "redux-logger": "^2.8.0", - "serv": "^0.2.4", - "webpack-dev-server": "^1.14.1" + "webpack-dev-server": "^3.1.9" } } diff --git a/src/APIController.react.js b/src/APIController.react.js index 4848d9a..e1cbfb8 100644 --- a/src/APIController.react.js +++ b/src/APIController.react.js @@ -1,5 +1,5 @@ -import {connect} from 'react-redux' -import {contains, isEmpty, isNil} from 'ramda' +import {connect} from 'react-redux'; +import {contains, isEmpty, isNil} from 'ramda'; import React, {Component} from 'react'; import PropTypes from 'prop-types'; import TreeContainer from './TreeContainer'; @@ -7,10 +7,11 @@ import { computeGraphs, computePaths, hydrateInitialOutputs, - setLayout + setLayout, } from './actions/index'; import {getDependencies, getLayout} from './actions/api'; -import {APP_STATES} from './reducers/constants'; +import {getAppState} from './reducers/constants'; +import {STATUS} from './constants/constants'; /** * Fire off API calls for initialization @@ -36,12 +37,12 @@ class UnconnectedContainer extends Component { graphs, layout, layoutRequest, - paths + paths, } = props; if (isEmpty(layoutRequest)) { dispatch(getLayout()); - } else if (layoutRequest.status === 200) { + } else if (layoutRequest.status === STATUS.OK) { if (isEmpty(layout)) { dispatch(setLayout(layoutRequest.content)); } else if (isNil(paths)) { @@ -51,75 +52,73 @@ class UnconnectedContainer extends Component { if (isEmpty(dependenciesRequest)) { dispatch(getDependencies()); - } else if (dependenciesRequest.status === 200 && isEmpty(graphs)) { + } else if ( + dependenciesRequest.status === STATUS.OK && + isEmpty(graphs) + ) { dispatch(computeGraphs(dependenciesRequest.content)); } if ( // dependenciesRequest and its computed stores - dependenciesRequest.status === 200 && + dependenciesRequest.status === STATUS.OK && !isEmpty(graphs) && - // LayoutRequest and its computed stores - layoutRequest.status === 200 && + layoutRequest.status === STATUS.OK && !isEmpty(layout) && !isNil(paths) && - // Hasn't already hydrated - appLifecycle === APP_STATES('STARTED') + appLifecycle === getAppState('STARTED') ) { dispatch(hydrateInitialOutputs()); } } - render () { + render() { const { appLifecycle, dependenciesRequest, layoutRequest, - layout + layout, } = this.props; - if (layoutRequest.status && - !contains(layoutRequest.status, [200, 'loading']) + if ( + layoutRequest.status && + !contains(layoutRequest.status, [STATUS.OK, 'loading']) ) { - return (
{'Error loading layout'}
); - } - - - else if ( + return
{'Error loading layout'}
; + } else if ( dependenciesRequest.status && - !contains(dependenciesRequest.status, [200, 'loading']) + !contains(dependenciesRequest.status, [STATUS.OK, 'loading']) ) { - return (
{'Error loading dependencies'}
); - } - - - else if (appLifecycle === APP_STATES('HYDRATED')) { + return ( +
+ {'Error loading dependencies'} +
+ ); + } else if (appLifecycle === getAppState('HYDRATED')) { return (
- +
); } - else { - return (
{'Loading...'}
); - } + return
{'Loading...'}
; } } UnconnectedContainer.propTypes = { appLifecycle: PropTypes.oneOf([ - APP_STATES('STARTED'), - APP_STATES('HYDRATED') + getAppState('STARTED'), + getAppState('HYDRATED'), ]), dispatch: PropTypes.func, dependenciesRequest: PropTypes.object, layoutRequest: PropTypes.object, layout: PropTypes.object, paths: PropTypes.object, - history: PropTypes.array -} + history: PropTypes.array, +}; const Container = connect( // map state to props @@ -130,7 +129,7 @@ const Container = connect( layout: state.layout, graphs: state.graphs, paths: state.paths, - history: state.history + history: state.history, }), dispatch => ({dispatch}) )(UnconnectedContainer); diff --git a/src/AccessDenied.react.js b/src/AccessDenied.react.js index 59bbf0e..80135d3 100644 --- a/src/AccessDenied.react.js +++ b/src/AccessDenied.react.js @@ -11,10 +11,7 @@ function AccessDenied(props) { const owner_username = fid.split(':')[0]; return ( - ) + ); } AccessDenied.propTypes = { - config: PropTypes.object -} + config: PropTypes.object, +}; export default AccessDenied; diff --git a/src/AppContainer.react.js b/src/AppContainer.react.js index 65ea7fa..12f0448 100644 --- a/src/AppContainer.react.js +++ b/src/AppContainer.react.js @@ -10,10 +10,10 @@ function UnconnectedAppContainer() { return (
- - - - + + + +
); @@ -21,7 +21,7 @@ function UnconnectedAppContainer() { const AppContainer = connect( state => ({ - history: state.history + history: state.history, }), dispatch => ({dispatch}) )(UnconnectedAppContainer); diff --git a/src/AppProvider.react.js b/src/AppProvider.react.js index 024af25..62b52d5 100644 --- a/src/AppProvider.react.js +++ b/src/AppProvider.react.js @@ -1,5 +1,5 @@ import React from 'react'; -import {Provider} from 'react-redux' +import {Provider} from 'react-redux'; import initializeStore from './store'; import AppContainer from './AppContainer.react'; @@ -8,7 +8,7 @@ const store = initializeStore(); const AppProvider = () => ( - + ); diff --git a/src/Authentication.react.js b/src/Authentication.react.js index c71db80..be31ed4 100644 --- a/src/Authentication.react.js +++ b/src/Authentication.react.js @@ -1,16 +1,16 @@ /* global window:true, document:true */ import React, {Component} from 'react'; import PropTypes from 'prop-types'; -import {connect} from 'react-redux' +import {connect} from 'react-redux'; import queryString from 'query-string'; import {login} from './actions/api'; import {readConfig} from './actions/index'; -import {contains, isEmpty, merge, type} from 'ramda' +import {contains, isEmpty, merge, type} from 'ramda'; import * as styles from './styles/styles.js'; -import {REDIRECT_URI_PATHNAME} from './constants/constants'; +import {REDIRECT_URI_PATHNAME, STATUS} from './constants/constants'; // http://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen -const PopupCenter = (url, title, w, h) => { +const popupCenter = (url, title, w, h) => { // Fixes dual-screen position const screenLeft = window.screenLeft; const screenTop = window.screenTop; @@ -18,13 +18,19 @@ const PopupCenter = (url, title, w, h) => { const width = window.innerWidth; const height = window.innerHeight; - const left = ((width / 2) - (w / 2)) + screenLeft; - const top = ((height / 2) - (h / 2)) + screenTop; + const left = width / 2 - w / 2 + screenLeft; + const top = height / 2 - h / 2 + screenTop; const popupWindow = window.open( - url, title, - ('scrollbars=yes,width=' + w + - ', height=' + h + ', top=' + top + - ', left=' + left) + url, + title, + 'scrollbars=yes,width=' + + w + + ', height=' + + h + + ', top=' + + top + + ', left=' + + left ); return popupWindow; }; @@ -46,9 +52,7 @@ class UnconnectedLogin extends Component { } buildOauthUrl() { - const {oauth_client_id, plotly_domain} = ( - this.props.config - ); + const {oauth_client_id, plotly_domain} = this.props.config; return ( `${plotly_domain}/o/authorize/?response_type=token&` + `client_id=${oauth_client_id}&` + @@ -57,15 +61,18 @@ class UnconnectedLogin extends Component { } oauthPopUp() { - const popupWindow = PopupCenter( - this.buildOauthUrl(), 'Authorization', '500', '500' + const popupWindow = popupCenter( + this.buildOauthUrl(), + 'Authorization', + '500', + '500' ); if (window.focus) { popupWindow.focus(); } window.popupWindow = popupWindow; const interval = setInterval(() => { - if(popupWindow.closed) { + if (popupWindow.closed) { this.props.onClosed(); clearInterval(interval); } @@ -91,12 +98,14 @@ class UnconnectedLogin extends Component { {`This dash app requires a plotly login to view. Don't have an account yet?`} - + {' Create an account '} - {` (it's free) + {` (it's free) and then request access from the owner of this app.`} @@ -106,11 +115,9 @@ class UnconnectedLogin extends Component { } UnconnectedLogin.propTypes = { onClosed: PropTypes.func, - config: PropTypes.object -} -const Login = connect( - state => ({config: state.config}) -)(UnconnectedLogin); + config: PropTypes.object, +}; +const Login = connect(state => ({config: state.config}))(UnconnectedLogin); /** * OAuth redirect component @@ -138,39 +145,27 @@ class UnconnectedOauthRedirect extends Component { const {loginRequest} = this.props; let content; if (isEmpty(loginRequest) || loginRequest.status === 'loading') { - content =
Loading...
; - - } else if (loginRequest.status === 200) { - + } else if (loginRequest.status === STATUS.OK) { window.close(); - } else { - content = (

{'Yikes! An error occurred trying to log in.'}

- { - loginRequest.content ? -
{JSON.stringify(loginRequest.content)}
: - null - } + {loginRequest.content ? ( +
{JSON.stringify(loginRequest.content)}
+ ) : null}
); - } - return ( -
- {content} -
- ); + return
{content}
; } } UnconnectedOauthRedirect.propTypes = { loginRequest: PropTypes.object, login: PropTypes.func, - dispatch: PropTypes.func -} + dispatch: PropTypes.func, +}; const OauthRedirect = connect( state => ({loginRequest: state.loginRequest}), dispatch => ({dispatch}) @@ -194,8 +189,8 @@ class Authentication extends Component { constructor(props) { super(props); this.state = { - oauth_flow_counter: 0 - } + oauth_flow_counter: 0, + }; } componentDidMount() { @@ -208,63 +203,47 @@ class Authentication extends Component { initialization(props) { const {config, dispatch} = props; - if (type(config) === "Null") { + if (type(config) === 'Null') { dispatch(readConfig()); } } render() { - const {children, config} = this.props; // OAuth redirect if (window.location.pathname === REDIRECT_URI_PATHNAME) { - return ( - - ); + return ; } - if (type(config) === "Null") { - + if (type(config) === 'Null') { return
Loading...
; - - } - - else if (config.fid) { - + } else if (config.fid) { if (contains('plotly_oauth_token=', document.cookie)) { - return children; - } - else { - - // Set oauth token cookie through an oauth flow - return ( - this.setState({ + // Set oauth token cookie through an oauth flow + return ( + + this.setState({ oauth_flow_counter: - this.state.oauth_flow_counter + 1 + this.state.oauth_flow_counter + 1, }) - }/> - ); - - } + } + /> + ); } - else { - - return children; - - } + return children; } } Authentication.propTypes = { children: PropTypes.object, - config: PropTypes.object -} + config: PropTypes.object, +}; export default connect( state => ({ diff --git a/src/TreeContainer.js b/src/TreeContainer.js index 5250d6c..b3b44f2 100644 --- a/src/TreeContainer.js +++ b/src/TreeContainer.js @@ -1,4 +1,4 @@ -'use strict' +'use strict'; import R from 'ramda'; import React, {Component} from 'react'; @@ -18,10 +18,12 @@ export default class TreeContainer extends Component { TreeContainer.propTypes = { layout: PropTypes.object, -} +}; function render(component) { - if (R.contains(R.type(component), ['String', 'Number', 'Null', 'Boolean'])) { + if ( + R.contains(R.type(component), ['String', 'Number', 'Null', 'Boolean']) + ) { return component; } @@ -30,29 +32,30 @@ function render(component) { const componentProps = R.propOr({}, 'props', component); - if (!R.has('props', component) || + if ( + !R.has('props', component) || !R.has('children', component.props) || - typeof component.props.children === 'undefined') { - + typeof component.props.children === 'undefined' + ) { // No children children = []; - - } else if (R.contains( - R.type(component.props.children), - ['String', 'Number', 'Null', 'Boolean']) + } else if ( + R.contains(R.type(component.props.children), [ + 'String', + 'Number', + 'Null', + 'Boolean', + ]) ) { - children = [component.props.children]; - } else { - // One or multiple objects // Recursively render the tree // TODO - I think we should pass in `key` here. - children = (Array.isArray(componentProps.children) ? - componentProps.children : [componentProps.children]) - .map(render); - + children = (Array.isArray(componentProps.children) + ? componentProps.children + : [componentProps.children] + ).map(render); } if (!component.type) { @@ -75,13 +78,9 @@ function render(component) { ...children ); - return ( - - {parent} - - ); + return {parent}; } render.propTypes = { - children: PropTypes.object -} + children: PropTypes.object, +}; diff --git a/src/actions/api.js b/src/actions/api.js index de351d9..e7eb00c 100644 --- a/src/actions/api.js +++ b/src/actions/api.js @@ -8,101 +8,91 @@ function GET(path) { method: 'GET', credentials: 'same-origin', headers: { - 'Accept': 'application/json', + Accept: 'application/json', 'Content-Type': 'application/json', - 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token - } + 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token, + }, }); } -function POST(path, body = {}, headers={}) { +function POST(path, body = {}, headers = {}) { return fetch(path, { method: 'POST', credentials: 'same-origin', - headers: merge({ - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token - }, headers), - body: body ? JSON.stringify(body) : null + headers: merge( + { + Accept: 'application/json', + 'Content-Type': 'application/json', + 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token, + }, + headers + ), + body: body ? JSON.stringify(body) : null, }); } const request = {GET, POST}; - -function apiThunk(endpoint, method, store, id, body, headers={}) { +function apiThunk(endpoint, method, store, id, body, headers = {}) { return (dispatch, getState) => { const config = getState().config; dispatch({ type: store, - payload: {id, status: 'loading'} + payload: {id, status: 'loading'}, }); return request[method](`${urlBase(config)}${endpoint}`, body, headers) - .then(res => { - const contentType = res.headers.get("content-type"); - if(contentType && contentType.indexOf("application/json") !== -1) { - return res.json().then( - json => { + .then(res => { + const contentType = res.headers.get('content-type'); + if ( + contentType && + contentType.indexOf('application/json') !== -1 + ) { + return res.json().then(json => { dispatch({ type: store, payload: { status: res.status, content: json, - id - } + id, + }, }); return json; - } - ) - } else { + }); + } + return dispatch({ + type: store, + payload: { + id, + status: res.status, + }, + }); + }) + .catch(err => { + /* eslint-disable no-console */ + console.error(err); + /* eslint-enable no-console */ dispatch({ type: store, payload: { id, - status: res.status - } + status: 500, + }, }); - } - }).catch(err => { - /* eslint-disable no-console */ - console.error(err); - /* eslint-enable no-console */ - dispatch({ - type: store, - payload: { - id, - status: 500 - } }); - }); }; } export function getLayout() { - return apiThunk( - '_dash-layout', - 'GET', - 'layoutRequest' - ); + return apiThunk('_dash-layout', 'GET', 'layoutRequest'); } export function getDependencies() { - return apiThunk( - '_dash-dependencies', - 'GET', - 'dependenciesRequest' - ); + return apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest'); } export function login(oauth_token) { - return apiThunk( - '_dash-login', - 'POST', - 'loginRequest', - undefined, - undefined, - {'Authorization': `Bearer ${oauth_token}`} - ); + return apiThunk('_dash-login', 'POST', 'loginRequest', '', '', { + Authorization: `Bearer ${oauth_token}`, + }); } diff --git a/src/actions/constants.js b/src/actions/constants.js index e1e5782..269dcd0 100644 --- a/src/actions/constants.js +++ b/src/actions/constants.js @@ -1,4 +1,4 @@ -export const ACTIONS = (action) => { +export const getAction = action => { const actionList = { ON_PROP_CHANGE: 'ON_PROP_CHANGE', SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE', @@ -6,8 +6,10 @@ export const ACTIONS = (action) => { COMPUTE_PATHS: 'COMPUTE_PATHS', SET_LAYOUT: 'SET_LAYOUT', SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE', - READ_CONFIG: 'READ_CONFIG' + READ_CONFIG: 'READ_CONFIG', }; - if (actionList[action]) return actionList[action]; - else throw new Error(`${action} is not defined.`) + if (actionList[action]) { + return actionList[action]; + } + throw new Error(`${action} is not defined.`); }; diff --git a/src/actions/index.js b/src/actions/index.js index 46c86a6..ab868e1 100644 --- a/src/actions/index.js +++ b/src/actions/index.js @@ -22,29 +22,30 @@ import { slice, sort, type, -// values, - view + // values, + view, } from 'ramda'; import {createAction} from 'redux-actions'; import {crawlLayout, hasId} from '../reducers/utils'; -import {APP_STATES} from '../reducers/constants'; -import {ACTIONS} from './constants'; +import {getAppState} from '../reducers/constants'; +import {getAction} from './constants'; import cookie from 'cookie'; import {uid, urlBase} from '../utils'; +import {STATUS} from '../constants/constants'; -export const updateProps = createAction(ACTIONS('ON_PROP_CHANGE')); -export const setRequestQueue = createAction(ACTIONS('SET_REQUEST_QUEUE')); -export const computeGraphs = createAction(ACTIONS('COMPUTE_GRAPHS')); -export const computePaths = createAction(ACTIONS('COMPUTE_PATHS')); -export const setLayout = createAction(ACTIONS('SET_LAYOUT')); -export const setAppLifecycle = createAction(ACTIONS('SET_APP_LIFECYCLE')); -export const readConfig = createAction(ACTIONS('READ_CONFIG')); +export const updateProps = createAction(getAction('ON_PROP_CHANGE')); +export const setRequestQueue = createAction(getAction('SET_REQUEST_QUEUE')); +export const computeGraphs = createAction(getAction('COMPUTE_GRAPHS')); +export const computePaths = createAction(getAction('COMPUTE_PATHS')); +export const setLayout = createAction(getAction('SET_LAYOUT')); +export const setAppLifecycle = createAction(getAction('SET_APP_LIFECYCLE')); +export const readConfig = createAction(getAction('READ_CONFIG')); export function hydrateInitialOutputs() { - return function (dispatch, getState) { + return function(dispatch, getState) { triggerDefaultState(dispatch, getState); - dispatch(setAppLifecycle(APP_STATES('HYDRATED'))); - } + dispatch(setAppLifecycle(getAppState('HYDRATED'))); + }; } function triggerDefaultState(dispatch, getState) { @@ -60,7 +61,8 @@ function triggerDefaultState(dispatch, getState) { * inputs that aren't leaves, * and the invisible inputs */ - if (InputGraph.dependenciesOf(nodeId).length > 0 && + if ( + InputGraph.dependenciesOf(nodeId).length > 0 && InputGraph.dependantsOf(nodeId).length === 0 && has(componentId, getState().paths) ) { @@ -72,67 +74,68 @@ function triggerDefaultState(dispatch, getState) { const [componentId, componentProp] = inputOutput.input.split('.'); // Get the initial property const propLens = lensPath( - concat(getState().paths[componentId], - ['props', componentProp] - )); - const propValue = view( - propLens, - getState().layout + concat(getState().paths[componentId], ['props', componentProp]) ); + const propValue = view(propLens, getState().layout); - dispatch(notifyObservers({ - id: componentId, - props: {[componentProp]: propValue}, - excludedOutputs: inputOutput.excludedOutputs - })); - + dispatch( + notifyObservers({ + id: componentId, + props: {[componentProp]: propValue}, + excludedOutputs: inputOutput.excludedOutputs, + }) + ); }); - } export function redo() { - return function (dispatch, getState) { + return function(dispatch, getState) { const history = getState().history; dispatch(createAction('REDO')()); const next = history.future[0]; // Update props - dispatch(createAction('REDO_PROP_CHANGE')({ - itempath: getState().paths[next.id], - props: next.props - })); + dispatch( + createAction('REDO_PROP_CHANGE')({ + itempath: getState().paths[next.id], + props: next.props, + }) + ); // Notify observers - dispatch(notifyObservers({ - id: next.id, - props: next.props - })); - } + dispatch( + notifyObservers({ + id: next.id, + props: next.props, + }) + ); + }; } - export function undo() { - return function (dispatch, getState) { + return function(dispatch, getState) { const history = getState().history; dispatch(createAction('UNDO')()); const previous = history.past[history.past.length - 1]; // Update props - dispatch(createAction('UNDO_PROP_CHANGE')({ - itempath: getState().paths[previous.id], - props: previous.props - })); + dispatch( + createAction('UNDO_PROP_CHANGE')({ + itempath: getState().paths[previous.id], + props: previous.props, + }) + ); // Notify observers - dispatch(notifyObservers({ - id: previous.id, - props: previous.props - })); - } + dispatch( + notifyObservers({ + id: previous.id, + props: previous.props, + }) + ); + }; } - - function reduceInputIds(nodeIds, InputGraph) { /* * Create input-output(s) pairs, @@ -143,7 +146,7 @@ function reduceInputIds(nodeIds, InputGraph) { input: nodeId, // TODO - Does this include grandchildren? outputs: InputGraph.dependenciesOf(nodeId), - excludedOutputs: [] + excludedOutputs: [], })); const sortedInputOutputPairs = sort( @@ -163,8 +166,9 @@ function reduceInputIds(nodeIds, InputGraph) { * to exclude. */ sortedInputOutputPairs.forEach((pair, i) => { - const outputsThatWillBeUpdated = flatten(pluck( - 'outputs', slice(0, i, sortedInputOutputPairs))); + const outputsThatWillBeUpdated = flatten( + pluck('outputs', slice(0, i, sortedInputOutputPairs)) + ); pair.outputs.forEach(output => { if (contains(output, outputsThatWillBeUpdated)) { pair.excludedOutputs.push(output); @@ -175,21 +179,11 @@ function reduceInputIds(nodeIds, InputGraph) { return sortedInputOutputPairs; } - - export function notifyObservers(payload) { - return function (dispatch, getState) { - const { - id, - event, - props, - excludedOutputs - } = payload - - const { - graphs, - requestQueue, - } = getState(); + return function(dispatch, getState) { + const {id, event, props, excludedOutputs} = payload; + + const {graphs, requestQueue} = getState(); const {EventGraph, InputGraph} = graphs; /* * Figure out all of the output id's that depend on this @@ -205,7 +199,7 @@ export function notifyObservers(payload) { const changedProps = keys(props); outputObservers = []; changedProps.forEach(propName => { - const node = `${id}.${propName}` + const node = `${id}.${propName}`; if (!InputGraph.hasNode(node)) { return; } @@ -269,13 +263,13 @@ export function notifyObservers(payload) { * this loop hits C because of the overallOrder sorting logic */ - - /* + /* * if the output just listens to events, then it won't be in * the InputGraph */ - const controllers = (InputGraph.hasNode(outputIdAndProp) ? - InputGraph.dependantsOf(outputIdAndProp) : []); + const controllers = InputGraph.hasNode(outputIdAndProp) + ? InputGraph.dependantsOf(outputIdAndProp) + : []; const controllersInFutureQueue = intersection( queuedObservers, @@ -295,8 +289,10 @@ export function notifyObservers(payload) { * the change for Child. if this update has already been queued up, * then skip the update for the other component */ - const controllerIsInExistingQueue = any(r => - contains(r.controllerId, controllers) && r.status === 'loading', + const controllerIsInExistingQueue = any( + r => + contains(r.controllerId, controllers) && + r.status === 'loading', requestQueue ); @@ -320,13 +316,13 @@ export function notifyObservers(payload) { * of a controller change. * for example, perhaps the user has hidden one of the observers */ - if ( - (controllersInFutureQueue.length === 0) && - (has(outputComponentId, getState().paths)) && - !controllerIsInExistingQueue - ) { - queuedObservers.push(outputIdAndProp) - } + if ( + controllersInFutureQueue.length === 0 && + has(outputComponentId, getState().paths) && + !controllerIsInExistingQueue + ) { + queuedObservers.push(outputIdAndProp); + } }); /* @@ -334,20 +330,13 @@ export function notifyObservers(payload) { * updated in a queue. not all of these requests will be fired in this * action */ - const newRequestQueue = queuedObservers.map( - i => ({ - controllerId: i, - status: 'loading', - uid: uid(), - requestTime: Date.now() - }) - ) - dispatch(setRequestQueue( - concat( - requestQueue, - newRequestQueue - ) - )); + const newRequestQueue = queuedObservers.map(i => ({ + controllerId: i, + status: 'loading', + uid: uid(), + requestTime: Date.now(), + })); + dispatch(setRequestQueue(concat(requestQueue, newRequestQueue))); const promises = []; for (let i = 0; i < queuedObservers.length; i++) { @@ -356,18 +345,22 @@ export function notifyObservers(payload) { const requestUid = newRequestQueue[i].uid; - promises.push(updateOutput( - outputComponentId, - outputProp, - event, - getState, - requestUid, - dispatch - )) + promises.push( + updateOutput( + outputComponentId, + outputProp, + event, + getState, + requestUid, + dispatch + ) + ); } + /* eslint-disable consistent-return */ return Promise.all(promises); - } + /* eslint-enableconsistent-return */ + }; } function updateOutput( @@ -378,13 +371,7 @@ function updateOutput( requestUid, dispatch ) { - const { - config, - layout, - graphs, - paths, - dependenciesRequest - } = getState(); + const {config, layout, graphs, paths, dependenciesRequest} = getState(); const {InputGraph} = graphs; /* @@ -403,43 +390,44 @@ function updateOutput( * } * */ - const payload = { - output: {id: outputComponentId, property: outputProp} - }; + const payload = { + output: {id: outputComponentId, property: outputProp}, + }; - if (event) { + if (event) { payload.event = event; } const {inputs, state} = dependenciesRequest.content.find( - dependency => ( + dependency => dependency.output.id === outputComponentId && dependency.output.property === outputProp - ) ); const validKeys = keys(paths); if (inputs.length > 0) { payload.inputs = inputs.map(inputObject => { // Make sure the component id exists in the layout if (!contains(inputObject.id, validKeys)) { - throw ReferenceError( - "An invalid input object was used in an " + - "`Input` of a Dash callback. " + - "The id of this object is `" + - inputObject.id + "` and the property is `" + - inputObject.property + - "`. The list of ids in the current layout is " + - "`[" + validKeys.join(", ") + "]`" - ) + throw new ReferenceError( + 'An invalid input object was used in an ' + + '`Input` of a Dash callback. ' + + 'The id of this object is `' + + inputObject.id + + '` and the property is `' + + inputObject.property + + '`. The list of ids in the current layout is ' + + '`[' + + validKeys.join(', ') + + ']`' + ); } const propLens = lensPath( - concat(paths[inputObject.id], - ['props', inputObject.property] - )); + concat(paths[inputObject.id], ['props', inputObject.property]) + ); return { id: inputObject.id, property: inputObject.property, - value: view(propLens, layout) + value: view(propLens, layout), }; }); } @@ -447,24 +435,26 @@ function updateOutput( payload.state = state.map(stateObject => { // Make sure the component id exists in the layout if (!contains(stateObject.id, validKeys)) { - throw ReferenceError( - "An invalid input object was used in a " + - "`State` object of a Dash callback. " + - "The id of this object is `" + - stateObject.id + "` and the property is `" + - stateObject.property + - "`. The list of ids in the current layout is " + - "`[" + validKeys.join(", ") + "]`" - ) + throw new ReferenceError( + 'An invalid input object was used in a ' + + '`State` object of a Dash callback. ' + + 'The id of this object is `' + + stateObject.id + + '` and the property is `' + + stateObject.property + + '`. The list of ids in the current layout is ' + + '`[' + + validKeys.join(', ') + + ']`' + ); } const propLens = lensPath( - concat(paths[stateObject.id], - ['props', stateObject.property] - )); + concat(paths[stateObject.id], ['props', stateObject.property]) + ); return { id: stateObject.id, property: stateObject.property, - value: view(propLens, layout) + value: view(propLens, layout), }; }); } @@ -473,12 +463,11 @@ function updateOutput( method: 'POST', headers: { 'Content-Type': 'application/json', - 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token + 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token, }, credentials: 'same-origin', - body: JSON.stringify(payload) + body: JSON.stringify(payload), }).then(function handleResponse(res) { - const getThisRequestIndex = () => { const postRequestQueue = getState().requestQueue; const thisRequestIndex = findIndex( @@ -486,10 +475,10 @@ function updateOutput( postRequestQueue ); return thisRequestIndex; - } + }; const updateRequestQueue = rejected => { - const postRequestQueue = getState().requestQueue + const postRequestQueue = getState().requestQueue; const thisRequestIndex = getThisRequestIndex(); if (thisRequestIndex === -1) { // It was already pruned away @@ -499,29 +488,28 @@ function updateOutput( merge(__, { status: res.status, responseTime: Date.now(), - rejected + rejected, }), thisRequestIndex, postRequestQueue ); // We don't need to store any requests before this one - const thisControllerId = postRequestQueue[ - thisRequestIndex].controllerId; - const prunedQueue = updatedQueue.filter( - (queueItem, index) => { - return ( - queueItem.controllerId !== thisControllerId || - index >= thisRequestIndex - ); - } - ); + const thisControllerId = + postRequestQueue[thisRequestIndex].controllerId; + const prunedQueue = updatedQueue.filter((queueItem, index) => { + return ( + queueItem.controllerId !== thisControllerId || + index >= thisRequestIndex + ); + }); dispatch(setRequestQueue(prunedQueue)); - } + }; const isRejected = () => { const latestRequestIndex = findLastIndex( - propEq('controllerId', `${outputComponentId}.${outputProp}`), // newRequestQueue[i].controllerId), + // newRequestQueue[i].controllerId), + propEq('controllerId', `${outputComponentId}.${outputProp}`), getState().requestQueue ); /* @@ -532,9 +520,9 @@ function updateOutput( */ const rejected = latestRequestIndex > getThisRequestIndex(); return rejected; - } + }; - if (res.status !== 200) { + if (res.status !== STATUS.OK) { // update the status of this request updateRequestQueue(true); return; @@ -550,17 +538,17 @@ function updateOutput( return; } - return res.json().then(function handleJson(data) { + res.json().then(function handleJson(data) { /* * Even if the `res` was received in the correct order, * the remainder of the response (res.json()) could happen * at different rates causing the parsed responses to * get out of order */ - if (isRejected()) { - updateRequestQueue(true); - return; - } + if (isRejected()) { + updateRequestQueue(true); + return; + } updateRequestQueue(false); @@ -581,14 +569,16 @@ function updateOutput( itempath: getState().paths[outputComponentId], // new prop from the server props: data.response.props, - source: 'response' + source: 'response', }; dispatch(updateProps(observerUpdatePayload)); - dispatch(notifyObservers({ - id: outputComponentId, - props: data.response.props - })); + dispatch( + notifyObservers({ + id: outputComponentId, + props: data.response.props, + }) + ); /* * If the response includes children, then we need to update our @@ -596,24 +586,27 @@ function updateOutput( * TODO - Do we need to wait for updateProps to finish? */ if (has('children', observerUpdatePayload.props)) { - - dispatch(computePaths({ - subTree: observerUpdatePayload.props.children, - startingPath: concat( - getState().paths[outputComponentId], - ['props', 'children'] - ) - })); + dispatch( + computePaths({ + subTree: observerUpdatePayload.props.children, + startingPath: concat( + getState().paths[outputComponentId], + ['props', 'children'] + ), + }) + ); /* * if children contains objects with IDs, then we * need to dispatch a propChange for all of these * new children components */ - if (contains( - type(observerUpdatePayload.props.children), - ['Array', 'Object'] - ) && !isEmpty(observerUpdatePayload.props.children) + if ( + contains(type(observerUpdatePayload.props.children), [ + 'Array', + 'Object', + ]) && + !isEmpty(observerUpdatePayload.props.children) ) { /* * TODO: We're just naively crawling @@ -628,18 +621,24 @@ function updateOutput( function appendIds(child) { if (hasId(child)) { keys(child.props).forEach(childProp => { - const componentIdAndProp = ( - `${child.props.id}.${childProp}` - ); - if (has(componentIdAndProp, InputGraph.nodes)) { - newProps[componentIdAndProp] = ({ + const componentIdAndProp = `${ + child.props.id + }.${childProp}`; + if ( + has( + componentIdAndProp, + InputGraph.nodes + ) + ) { + newProps[componentIdAndProp] = { id: child.props.id, props: { - [childProp]: child.props[childProp] - } - }); + [childProp]: + child.props[childProp], + }, + }; } - }) + }); } } ); @@ -670,7 +669,6 @@ function updateOutput( * special case (no input changed?) */ - const outputIds = []; keys(newProps).forEach(idAndProp => { if ( @@ -683,7 +681,7 @@ function updateOutput( intersection( InputGraph.dependantsOf(idAndProp), keys(newProps) - ).length == 0 + ).length === 0 ) { outputIds.push(idAndProp); delete newProps[idAndProp]; @@ -692,10 +690,14 @@ function updateOutput( // Dispatch updates to inputs const reducedNodeIds = reduceInputIds( - keys(newProps), InputGraph); + keys(newProps), + InputGraph + ); const depOrder = InputGraph.overallOrder(); - const sortedNewProps = sort((a, b) => - depOrder.indexOf(a.input) - depOrder.indexOf(b.input), + const sortedNewProps = sort( + (a, b) => + depOrder.indexOf(a.input) - + depOrder.indexOf(b.input), reducedNodeIds ); sortedNewProps.forEach(function(inputOutput) { @@ -707,15 +709,20 @@ function updateOutput( // Dispatch updates to lone outputs outputIds.forEach(idAndProp => { const requestUid = uid(); - dispatch(setRequestQueue( - append({ - // TODO - Are there any implications of doing this?? - controllerId: null, - status: 'loading', - uid: requestUid, - requestTime: Date.now() - }, getState().requestQueue) - )); + dispatch( + setRequestQueue( + append( + { + // TODO - Are there any implications of doing this?? + controllerId: null, + status: 'loading', + uid: requestUid, + requestTime: Date.now(), + }, + getState().requestQueue + ) + ) + ); updateOutput( idAndProp.split('.')[0], idAndProp.split('.')[1], @@ -724,16 +731,11 @@ function updateOutput( requestUid, dispatch ); - }) - + }); } - - } - }); }); - } export function serialize(state) { @@ -748,22 +750,18 @@ export function serialize(state) { * Filter out the outputs, * and the invisible inputs */ - if (InputGraph.dependenciesOf(nodeId).length > 0 && + if ( + InputGraph.dependenciesOf(nodeId).length > 0 && has(componentId, paths) ) { // Get the property const propLens = lensPath( - concat(paths[componentId], - ['props', componentProp] - )); - const propValue = view( - propLens, - layout + concat(paths[componentId], ['props', componentProp]) ); + const propValue = view(propLens, layout); savedState[nodeId] = propValue; } }); return savedState; - } diff --git a/src/components/core/Loading.react.js b/src/components/core/Loading.react.js index f8686e1..d7ee0dd 100644 --- a/src/components/core/Loading.react.js +++ b/src/components/core/Loading.react.js @@ -8,9 +8,9 @@ function Loading(props) { return (
); - } else { + } return null; - } + } Loading.propTypes = { diff --git a/src/components/core/NotifyObservers.react.js b/src/components/core/NotifyObservers.react.js index 182ac84..9f49a3d 100644 --- a/src/components/core/NotifyObservers.react.js +++ b/src/components/core/NotifyObservers.react.js @@ -104,9 +104,9 @@ function NotifyObserversComponent ({ if (!isEmpty(extraProps)) { return React.cloneElement(children, extraProps); - } else { + } return children; - } + } NotifyObserversComponent.propTypes = { diff --git a/src/constants/constants.js b/src/constants/constants.js index 2de37c8..1027aae 100644 --- a/src/constants/constants.js +++ b/src/constants/constants.js @@ -1,2 +1,6 @@ export const REDIRECT_URI_PATHNAME = '/_oauth2/callback'; -export const OAUTH_COOKIE_NAME = 'plotly_oauth_token' +export const OAUTH_COOKIE_NAME = 'plotly_oauth_token'; + +export const STATUS = { + OK: 200, +}; diff --git a/src/index.js b/src/index.js index 8562ef8..3e28608 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,4 @@ -/*eslint-env browser */ +/* eslint-env browser */ 'use strict'; @@ -6,8 +6,4 @@ import React from 'react'; import ReactDOM from 'react-dom'; import AppProvider from './AppProvider.react'; - -ReactDOM.render( - , - document.getElementById('react-entry-point') -); +ReactDOM.render(, document.getElementById('react-entry-point')); diff --git a/src/reducers/api.js b/src/reducers/api.js index a7e8d95..d4bb54b 100644 --- a/src/reducers/api.js +++ b/src/reducers/api.js @@ -6,20 +6,28 @@ function createApiReducer(store) { if (action.type === store) { const {payload} = action; if (Array.isArray(payload.id)) { - newState = assocPath(payload.id, { - status: payload.status, - content: payload.content - }, state); + newState = assocPath( + payload.id, + { + status: payload.status, + content: payload.content, + }, + state + ); } else if (payload.id) { - newState = assoc(payload.id, { - status: payload.status, - content: payload.content - }, state); - } else { - newState = merge( - state, - {status: payload.status, content: payload.content} + newState = assoc( + payload.id, + { + status: payload.status, + content: payload.content, + }, + state ); + } else { + newState = merge(state, { + status: payload.status, + content: payload.content, + }); } } return newState; diff --git a/src/reducers/appLifecycle.js b/src/reducers/appLifecycle.js index 190a373..93689c5 100644 --- a/src/reducers/appLifecycle.js +++ b/src/reducers/appLifecycle.js @@ -1,10 +1,10 @@ -import {ACTIONS} from '../actions/constants'; -import {APP_STATES} from './constants'; +import {getAction} from '../actions/constants'; +import {getAppState} from './constants'; -function appLifecycle(state=APP_STATES('STARTED'), action) { +function appLifecycle(state = getAppState('STARTED'), action) { switch (action.type) { - case ACTIONS('SET_APP_LIFECYCLE'): - return APP_STATES(action.payload); + case getAction('SET_APP_LIFECYCLE'): + return getAppState(action.payload); default: return state; } diff --git a/src/reducers/config.js b/src/reducers/config.js index 6457ac9..fdca932 100644 --- a/src/reducers/config.js +++ b/src/reducers/config.js @@ -1,10 +1,9 @@ /* global document:true */ -import {ACTIONS} from '../actions/constants'; +import {getAction} from '../actions/constants'; -export default function config (state = null, action) { - if (action.type === ACTIONS('READ_CONFIG')) { +export default function config(state = null, action) { + if (action.type === getAction('READ_CONFIG')) { return JSON.parse(document.getElementById('_dash-config').textContent); - } else { - return state; } + return state; } diff --git a/src/reducers/constants.js b/src/reducers/constants.js index 78aa7ad..da4dfb2 100644 --- a/src/reducers/constants.js +++ b/src/reducers/constants.js @@ -1,8 +1,10 @@ -export function APP_STATES(state) { +export function getAppState(state) { const stateList = { - 'STARTED': 'STARTED', - 'HYDRATED': 'HYDRATED' + STARTED: 'STARTED', + HYDRATED: 'HYDRATED', + }; + if (stateList[state]) { + return stateList[state]; } - if (stateList[state]) return stateList[state]; - else throw new Error (`${state} is not a valid app state.`); + throw new Error(`${state} is not a valid app state.`); } diff --git a/src/reducers/dependencyGraph.js b/src/reducers/dependencyGraph.js index 7da6e6f..69049bb 100644 --- a/src/reducers/dependencyGraph.js +++ b/src/reducers/dependencyGraph.js @@ -27,13 +27,11 @@ const graphs = (state = initialGraph, action) => { }); return {InputGraph: inputGraph, EventGraph: eventGraph}; - } default: return state; - } -} +}; export default graphs; diff --git a/src/reducers/history.js b/src/reducers/history.js index 27bd96b..8342b42 100644 --- a/src/reducers/history.js +++ b/src/reducers/history.js @@ -1,12 +1,11 @@ const initialHistory = { past: [], present: {}, - future: [] + future: [], }; -function history (state = initialHistory, action) { +function history(state = initialHistory, action) { switch (action.type) { - case 'UNDO': { const {past, present, future} = state; const previous = past[past.length - 1]; @@ -14,7 +13,7 @@ function history (state = initialHistory, action) { return { past: newPast, present: previous, - future: [ present, ...future ] + future: [present, ...future], }; } @@ -25,16 +24,14 @@ function history (state = initialHistory, action) { return { past: [...past, present], present: next, - future: newFuture + future: newFuture, }; } default: { return state; } - } } - export default history; diff --git a/src/reducers/layout.js b/src/reducers/layout.js index a9266e9..cce9873 100644 --- a/src/reducers/layout.js +++ b/src/reducers/layout.js @@ -1,28 +1,24 @@ import {append, assocPath, contains, lensPath, merge, view} from 'ramda'; -import {ACTIONS} from '../actions/constants'; +import {getAction} from '../actions/constants'; const layout = (state = {}, action) => { - if (action.type === ACTIONS('SET_LAYOUT')) { - + if (action.type === getAction('SET_LAYOUT')) { return action.payload; - - } else if (contains( - action.type, - ['UNDO_PROP_CHANGE', 'REDO_PROP_CHANGE', ACTIONS('ON_PROP_CHANGE')] - )) { - - let propPath = append('props', action.payload.itempath); + } else if ( + contains(action.type, [ + 'UNDO_PROP_CHANGE', + 'REDO_PROP_CHANGE', + getAction('ON_PROP_CHANGE'), + ]) + ) { + const propPath = append('props', action.payload.itempath); const existingProps = view(lensPath(propPath), state); const mergedProps = merge(existingProps, action.payload.props); - state = assocPath(propPath, mergedProps, state); - return state; - - } else { - - return state; - + return assocPath(propPath, mergedProps, state); } -} + + return state; +}; export default layout; diff --git a/src/reducers/paths.js b/src/reducers/paths.js index 78fe7b6..c19a003 100644 --- a/src/reducers/paths.js +++ b/src/reducers/paths.js @@ -1,34 +1,37 @@ -import {crawlLayout, hasId} from './utils' -import R from 'ramda' -import {ACTIONS} from '../actions/constants'; +import {crawlLayout, hasId} from './utils'; +import R from 'ramda'; +import {getAction} from '../actions/constants'; const initialPaths = null; - const paths = (state = initialPaths, action) => { switch (action.type) { - case ACTIONS('COMPUTE_PATHS'): { + case getAction('COMPUTE_PATHS'): { const {subTree, startingPath} = action.payload; + let oldState = state; if (R.isNil(state)) { - state = {}; + oldState = {}; } let newState; // if we're updating a subtree, clear out all of the existing items if (!R.isEmpty(startingPath)) { - const removeKeys = R.filter(k => ( - R.equals(startingPath, R.slice(0, startingPath.length, state[k])) - ), R.keys(state)); - newState = R.omit(removeKeys, state); + const removeKeys = R.filter( + k => + R.equals( + startingPath, + R.slice(0, startingPath.length, oldState[k]) + ), + R.keys(oldState) + ); + newState = R.omit(removeKeys, oldState); } else { - newState = R.merge({}, state); + newState = R.merge({}, oldState); } crawlLayout(subTree, function assignPath(child, itempath) { - if(hasId(child)) { - + if (hasId(child)) { newState[child.props.id] = R.concat(startingPath, itempath); - } }); @@ -39,6 +42,6 @@ const paths = (state = initialPaths, action) => { return state; } } -} +}; export default paths; diff --git a/src/reducers/reducer.js b/src/reducers/reducer.js index 33ca050..a77538a 100644 --- a/src/reducers/reducer.js +++ b/src/reducers/reducer.js @@ -1,4 +1,4 @@ -'use strict' +'use strict'; import R, {concat, lensPath, view} from 'ramda'; import {combineReducers} from 'redux'; import layout from './layout'; @@ -20,10 +20,9 @@ const reducer = combineReducers({ dependenciesRequest: API.dependenciesRequest, layoutRequest: API.layoutRequest, loginRequest: API.loginRequest, - history + history, }); - function getInputHistoryState(itempath, props, state) { const {graphs, layout, paths} = state; const {InputGraph} = graphs; @@ -34,8 +33,10 @@ function getInputHistoryState(itempath, props, state) { historyEntry = {id, props: {}}; R.keys(props).forEach(propKey => { const inputKey = `${id}.${propKey}`; - if (InputGraph.hasNode(inputKey) && - InputGraph.dependenciesOf(inputKey).length > 0) { + if ( + InputGraph.hasNode(inputKey) && + InputGraph.dependenciesOf(inputKey).length > 0 + ) { historyEntry.props[propKey] = view( lensPath(concat(paths[id], ['props', propKey])), layout @@ -47,9 +48,10 @@ function getInputHistoryState(itempath, props, state) { } function recordHistory(reducer) { - return function (state, action) { + return function(state, action) { // Record initial state - if (action.type === 'ON_PROP_CHANGE' && + if ( + action.type === 'ON_PROP_CHANGE' && R.isEmpty(state.history.present) ) { const {itempath, props} = action.payload; @@ -61,7 +63,8 @@ function recordHistory(reducer) { const nextState = reducer(state, action); - if (action.type === 'ON_PROP_CHANGE' && + if ( + action.type === 'ON_PROP_CHANGE' && action.payload.source !== 'response' ) { const {itempath, props} = action.payload; @@ -69,24 +72,25 @@ function recordHistory(reducer) { * if the prop change is an input, then * record it so that it can be played back */ - const historyEntry = getInputHistoryState(itempath, props, nextState); + const historyEntry = getInputHistoryState( + itempath, + props, + nextState + ); if (historyEntry && !R.isEmpty(historyEntry.props)) { - nextState.history = { past: [ ...nextState.history.past, - nextState.history.present + nextState.history.present, ], present: historyEntry, - future: [] - } - + future: [], + }; } } return nextState; - - } + }; } export default recordHistory(reducer); diff --git a/src/reducers/requestQueue.js b/src/reducers/requestQueue.js index 455bbbd..995285a 100644 --- a/src/reducers/requestQueue.js +++ b/src/reducers/requestQueue.js @@ -8,6 +8,6 @@ const requestQueue = (state = [], action) => { default: return state; } -} +}; export default requestQueue; diff --git a/src/reducers/utils.js b/src/reducers/utils.js index 540516a..966fb0a 100644 --- a/src/reducers/utils.js +++ b/src/reducers/utils.js @@ -1,36 +1,29 @@ import R from 'ramda'; -const extend = R.reduce(R.flip(R.append)) +const extend = R.reduce(R.flip(R.append)); // crawl a layout object, apply a function on every object -export const crawlLayout = (object, func, path=[]) => { +export const crawlLayout = (object, func, path = []) => { func(object, path); /* * object may be a string, a number, or null * R.has will return false for both of those types */ - if (R.type(object) === 'Object' && + if ( + R.type(object) === 'Object' && R.has('props', object) && R.has('children', object.props) ) { const newPath = extend(path, ['props', 'children']); if (Array.isArray(object.props.children)) { object.props.children.forEach((child, i) => { - crawlLayout( - child, - func, - R.append(i, newPath)); + crawlLayout(child, func, R.append(i, newPath)); }); } else { - crawlLayout( - object.props.children, - func, - newPath - ); + crawlLayout(object.props.children, func, newPath); } - } else if (R.type(object) === 'Array') { - + } else if (R.type(object) === 'Array') { /* * Sometimes when we're updating a sub-tree * (like when we're responding to a callback) @@ -40,14 +33,10 @@ export const crawlLayout = (object, func, path=[]) => { */ object.forEach((child, i) => { - crawlLayout( - child, - func, - R.append(i, path)); + crawlLayout(child, func, R.append(i, path)); }); - } -} +}; export function hasId(child) { return ( diff --git a/src/registry.js b/src/registry.js index 3a664ce..d3b96b6 100644 --- a/src/registry.js +++ b/src/registry.js @@ -14,5 +14,5 @@ export default { } throw new Error(`${namespace} was not found.`); - } + }, }; diff --git a/src/store.js b/src/store.js index 3f67fbd..39cb0b3 100644 --- a/src/store.js +++ b/src/store.js @@ -5,10 +5,11 @@ import thunk from 'redux-thunk'; import reducer from './reducers/reducer'; import createLogger from 'redux-logger'; - let logger; -if (process.env.NODE_ENV !== 'production') // only set up logger in non-production mode +// only set up logger in non-production mode +if (process.env.NODE_ENV !== 'production') { logger = createLogger(); +} let store; /** @@ -23,10 +24,10 @@ const initializeStore = () => { } // only attach logger to middleware in non-production mode - store = process.env.NODE_ENV === 'production' - ? createStore(reducer, applyMiddleware(thunk)) - : createStore(reducer, applyMiddleware(thunk, logger)); - + store = + process.env.NODE_ENV === 'production' + ? createStore(reducer, applyMiddleware(thunk)) + : createStore(reducer, applyMiddleware(thunk, logger)); // TODO - Protect this under a debug mode? window.store = store; /* global window:true */ diff --git a/src/styles/styles.js b/src/styles/styles.js index 32b2c61..868e2ec 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -16,7 +16,7 @@ export const base = { html: { fontFamily: "'Open Sans', Helvetica, sans-serif", fontWeight: 400, - color: '#2A3F5F' + color: '#2A3F5F', }, h2: { @@ -52,7 +52,7 @@ export const base = { a: { color: '#119DFF', textDecoration: 'none', - cursor: 'pointer' + cursor: 'pointer', }, caption: { @@ -66,7 +66,7 @@ export const base = { marginRight: 'auto', width: '90%', maxWidth: '300px', - } -} + }, +}; export default base; diff --git a/src/utils.js b/src/utils.js index fe0559f..0da09ca 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,37 +1,58 @@ import {has, type} from 'ramda'; - /* * requests_pathname_prefix is the new config parameter introduced in * dash==0.18.0. The previous versions just had url_base_pathname */ export function urlBase(config) { - if (type(config) === "Null" || - (type(config) === "Object") && - !has('url_base_pathname', config) && - !has('requests_pathname_prefix', config)) { - throw new Error(` + if ( + type(config) === 'Null' || + (type(config) === 'Object' && + !has('url_base_pathname', config) && + !has('requests_pathname_prefix', config)) + ) { + throw new Error( + ` Trying to make an API request but "url_base_pathname" and "requests_pathname_prefix" - is not in \`config\`. \`config\` is: `, config); - } else if (has('url_base_pathname', config) && - !has('requests_pathname_prefix', config)) { + is not in \`config\`. \`config\` is: `, + config + ); + } else if ( + has('url_base_pathname', config) && + !has('requests_pathname_prefix', config) + ) { return config.url_base_pathname; } else if (has('requests_pathname_prefix', config)) { return config.requests_pathname_prefix; } else { throw new Error( `Unhandled case trying to get url_base_pathname or - requests_pathname_prefix from config`, config); + requests_pathname_prefix from config`, + config + ); } } export function uid() { - function s4() { - return Math.floor((1 + Math.random()) * 0x10000) - .toString(16) - .substring(1); - } - return s4() + s4() + '-' + s4() + '-' + s4() + '-' + - s4() + '-' + s4() + s4() + s4(); + function s4() { + const h = 0x10000; + return Math.floor((1 + Math.random()) * h) + .toString(16) + .substring(1); + } + return ( + s4() + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + s4() + + s4() + ); } diff --git a/webpack.config.js b/webpack.config.js index 1f85e18..50580fc 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,29 +3,61 @@ const packagejson = require('./package.json'); const dashLibraryName = packagejson.name.replace(/-/g, '_'); -module.exports = (env, argv) => ({ - entry: {main: './src/index.js'}, - output: { - path: path.resolve(__dirname, dashLibraryName), - filename: argv.mode === 'development' ? `${dashLibraryName}.dev.js` : `${dashLibraryName}.min.js`, - library: dashLibraryName, - libraryTarget: 'window', - }, - externals: { - react: 'React', - 'react-dom': 'ReactDOM', - 'plotly.js': 'Plotly', - }, - module: { - rules: [ - { - test: /\.js$/, - exclude: /node_modules/, - use: { - loader: 'babel-loader', +module.exports = (env, argv) => { + let mode; + + // if user specified mode flag take that value + if (argv && argv.mode) { + mode = argv.mode; + } + + // else if configuration object is already set (module.exports) use that value + else if (module.exports && module.exports.mode) { + mode = module.exports = mode; + } + + // else take webpack default + else { + mode = 'production'; + } + return { + entry: {main: ['whatwg-fetch', './src/index.js']}, + output: { + path: path.resolve(__dirname, dashLibraryName), + filename: + mode === 'development' + ? `${dashLibraryName}.dev.js` + : `${dashLibraryName}.min.js`, + library: dashLibraryName, + libraryTarget: 'window', + }, + externals: { + react: 'React', + 'react-dom': 'ReactDOM', + 'plotly.js': 'Plotly', + }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + { + test: /\.css$/, + use: [ + { + loader: 'style-loader', + }, + { + loader: 'css-loader', + }, + ], }, - } - ], - }, - devtool: argv.mode === 'development' ? "eval-source-map" : 'none' -}); + ], + }, + devtool: mode === 'development' ? 'eval-source-map' : 'none', + }; +}; \ No newline at end of file