|
- /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = "./lib/index.js");
- /******/ })
- /************************************************************************/
- /******/ ({
-
- /***/ "./lib/index.js":
- /*!**********************!*\
- !*** ./lib/index.js ***!
- \**********************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(global) {\n\nvar _jamming = _interopRequireDefault(__webpack_require__(/*! ./jamming */ \"./lib/jamming.js\"));\n\nvar _uuid = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/index.js\");\n\nvar _websocketAsPromised = _interopRequireDefault(__webpack_require__(/*! websocket-as-promised */ \"./node_modules/websocket-as-promised/src/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction cov_4h8japy5f() {\n var path = \"/Users/jmg/git/jamming/src/index.js\";\n var hash = \"7b75387d72eeddddb251156c010fec8db30faf67\";\n var global = new Function(\"return this\")();\n var gcv = \"__coverage__\";\n var coverageData = {\n path: \"/Users/jmg/git/jamming/src/index.js\",\n statementMap: {\n \"0\": {\n start: {\n line: 6,\n column: 14\n },\n end: {\n line: 6,\n column: 36\n }\n },\n \"1\": {\n start: {\n line: 7,\n column: 1\n },\n end: {\n line: 7,\n column: 20\n }\n },\n \"2\": {\n start: {\n line: 9,\n column: 1\n },\n end: {\n line: 15,\n column: 8\n }\n },\n \"3\": {\n start: {\n line: 19,\n column: 14\n },\n end: {\n line: 19,\n column: 22\n }\n },\n \"4\": {\n start: {\n line: 20,\n column: 19\n },\n end: {\n line: 20,\n column: 55\n }\n },\n \"5\": {\n start: {\n line: 21,\n column: 19\n },\n end: {\n line: 21,\n column: 55\n }\n },\n \"6\": {\n start: {\n line: 26,\n column: 21\n },\n end: {\n line: 34,\n column: 2\n }\n },\n \"7\": {\n start: {\n line: 37,\n column: 1\n },\n end: {\n line: 42,\n column: 2\n }\n },\n \"8\": {\n start: {\n line: 38,\n column: 2\n },\n end: {\n line: 38,\n column: 66\n }\n },\n \"9\": {\n start: {\n line: 40,\n column: 2\n },\n end: {\n line: 40,\n column: 54\n }\n },\n \"10\": {\n start: {\n line: 41,\n column: 2\n },\n end: {\n line: 41,\n column: 8\n }\n },\n \"11\": {\n start: {\n line: 45,\n column: 1\n },\n end: {\n line: 48,\n column: 4\n }\n },\n \"12\": {\n start: {\n line: 46,\n column: 26\n },\n end: {\n line: 46,\n column: 44\n }\n },\n \"13\": {\n start: {\n line: 47,\n column: 31\n },\n end: {\n line: 47,\n column: 36\n }\n },\n \"14\": {\n start: {\n line: 49,\n column: 1\n },\n end: {\n line: 51,\n column: 4\n }\n },\n \"15\": {\n start: {\n line: 50,\n column: 2\n },\n end: {\n line: 50,\n column: 54\n }\n },\n \"16\": {\n start: {\n line: 52,\n column: 1\n },\n end: {\n line: 63,\n column: 4\n }\n },\n \"17\": {\n start: {\n line: 53,\n column: 12\n },\n end: {\n line: 53,\n column: 36\n }\n },\n \"18\": {\n start: {\n line: 54,\n column: 2\n },\n end: {\n line: 54,\n column: 42\n }\n },\n \"19\": {\n start: {\n line: 56,\n column: 2\n },\n end: {\n line: 56,\n column: 31\n }\n },\n \"20\": {\n start: {\n line: 56,\n column: 24\n },\n end: {\n line: 56,\n column: 31\n }\n },\n \"21\": {\n start: {\n line: 58,\n column: 2\n },\n end: {\n line: 62,\n column: 3\n }\n },\n \"22\": {\n start: {\n line: 59,\n column: 3\n },\n end: {\n line: 59,\n column: 59\n }\n },\n \"23\": {\n start: {\n line: 60,\n column: 9\n },\n end: {\n line: 62,\n column: 3\n }\n },\n \"24\": {\n start: {\n line: 61,\n column: 3\n },\n end: {\n line: 61,\n column: 52\n }\n },\n \"25\": {\n start: {\n line: 64,\n column: 1\n },\n end: {\n line: 64,\n column: 18\n }\n },\n \"26\": {\n start: {\n line: 67,\n column: 15\n },\n end: {\n line: 67,\n column: 37\n }\n },\n \"27\": {\n start: {\n line: 68,\n column: 2\n },\n end: {\n line: 68,\n column: 21\n }\n },\n \"28\": {\n start: {\n line: 70,\n column: 2\n },\n end: {\n line: 70,\n column: 31\n }\n },\n \"29\": {\n start: {\n line: 71,\n column: 2\n },\n end: {\n line: 71,\n column: 35\n }\n },\n \"30\": {\n start: {\n line: 75,\n column: 23\n },\n end: {\n line: 88,\n column: 2\n }\n },\n \"31\": {\n start: {\n line: 89,\n column: 1\n },\n end: {\n line: 89,\n column: 43\n }\n },\n \"32\": {\n start: {\n line: 90,\n column: 1\n },\n end: {\n line: 95,\n column: 3\n }\n },\n \"33\": {\n start: {\n line: 91,\n column: 2\n },\n end: {\n line: 94,\n column: 3\n }\n },\n \"34\": {\n start: {\n line: 92,\n column: 3\n },\n end: {\n line: 92,\n column: 31\n }\n },\n \"35\": {\n start: {\n line: 93,\n column: 3\n },\n end: {\n line: 93,\n column: 40\n }\n },\n \"36\": {\n start: {\n line: 96,\n column: 1\n },\n end: {\n line: 98,\n column: 3\n }\n },\n \"37\": {\n start: {\n line: 97,\n column: 2\n },\n end: {\n line: 97,\n column: 41\n }\n },\n \"38\": {\n start: {\n line: 99,\n column: 1\n },\n end: {\n line: 99,\n column: 22\n }\n },\n \"39\": {\n start: {\n line: 101,\n column: 1\n },\n end: {\n line: 106,\n column: 2\n }\n },\n \"40\": {\n start: {\n line: 102,\n column: 13\n },\n end: {\n line: 102,\n column: 35\n }\n },\n \"41\": {\n start: {\n line: 104,\n column: 2\n },\n end: {\n line: 104,\n column: 70\n }\n },\n \"42\": {\n start: {\n line: 105,\n column: 2\n },\n end: {\n line: 105,\n column: 8\n }\n },\n \"43\": {\n start: {\n line: 110,\n column: 1\n },\n end: {\n line: 110,\n column: 36\n }\n },\n \"44\": {\n start: {\n line: 112,\n column: 10\n },\n end: {\n line: 112,\n column: 29\n }\n },\n \"45\": {\n start: {\n line: 113,\n column: 1\n },\n end: {\n line: 113,\n column: 44\n }\n },\n \"46\": {\n start: {\n line: 115,\n column: 0\n },\n end: {\n line: 115,\n column: 9\n }\n },\n \"47\": {\n start: {\n line: 118,\n column: 0\n },\n end: {\n line: 118,\n column: 25\n }\n },\n \"48\": {\n start: {\n line: 121,\n column: 12\n },\n end: {\n line: 124,\n column: 3\n }\n },\n \"49\": {\n start: {\n line: 129,\n column: 19\n },\n end: {\n line: 129,\n column: 41\n }\n },\n \"50\": {\n start: {\n line: 130,\n column: 23\n },\n end: {\n line: 141,\n column: 2\n }\n },\n \"51\": {\n start: {\n line: 147,\n column: 2\n },\n end: {\n line: 147,\n column: 44\n }\n },\n \"52\": {\n start: {\n line: 150,\n column: 2\n },\n end: {\n line: 150,\n column: 67\n }\n },\n \"53\": {\n start: {\n line: 150,\n column: 39\n },\n end: {\n line: 150,\n column: 66\n }\n },\n \"54\": {\n start: {\n line: 153,\n column: 2\n },\n end: {\n line: 161,\n column: 4\n }\n },\n \"55\": {\n start: {\n line: 154,\n column: 3\n },\n end: {\n line: 160,\n column: 4\n }\n },\n \"56\": {\n start: {\n line: 155,\n column: 4\n },\n end: {\n line: 155,\n column: 35\n }\n },\n \"57\": {\n start: {\n line: 157,\n column: 4\n },\n end: {\n line: 157,\n column: 55\n }\n },\n \"58\": {\n start: {\n line: 159,\n column: 4\n },\n end: {\n line: 159,\n column: 23\n }\n },\n \"59\": {\n start: {\n line: 164,\n column: 2\n },\n end: {\n line: 164,\n column: 68\n }\n },\n \"60\": {\n start: {\n line: 165,\n column: 2\n },\n end: {\n line: 165,\n column: 48\n }\n },\n \"61\": {\n start: {\n line: 165,\n column: 25\n },\n end: {\n line: 165,\n column: 47\n }\n },\n \"62\": {\n start: {\n line: 166,\n column: 2\n },\n end: {\n line: 166,\n column: 56\n }\n },\n \"63\": {\n start: {\n line: 166,\n column: 34\n },\n end: {\n line: 166,\n column: 55\n }\n },\n \"64\": {\n start: {\n line: 168,\n column: 2\n },\n end: {\n line: 172,\n column: 3\n }\n },\n \"65\": {\n start: {\n line: 170,\n column: 3\n },\n end: {\n line: 170,\n column: 29\n }\n },\n \"66\": {\n start: {\n line: 170,\n column: 22\n },\n end: {\n line: 170,\n column: 29\n }\n },\n \"67\": {\n start: {\n line: 171,\n column: 3\n },\n end: {\n line: 171,\n column: 29\n }\n },\n \"68\": {\n start: {\n line: 175,\n column: 1\n },\n end: {\n line: 192,\n column: 3\n }\n },\n \"69\": {\n start: {\n line: 176,\n column: 2\n },\n end: {\n line: 176,\n column: 24\n }\n },\n \"70\": {\n start: {\n line: 176,\n column: 11\n },\n end: {\n line: 176,\n column: 24\n }\n },\n \"71\": {\n start: {\n line: 178,\n column: 2\n },\n end: {\n line: 191,\n column: 3\n }\n },\n \"72\": {\n start: {\n line: 179,\n column: 3\n },\n end: {\n line: 188,\n column: 4\n }\n },\n \"73\": {\n start: {\n line: 180,\n column: 4\n },\n end: {\n line: 180,\n column: 47\n }\n },\n \"74\": {\n start: {\n line: 182,\n column: 4\n },\n end: {\n line: 185,\n column: 5\n }\n },\n \"75\": {\n start: {\n line: 183,\n column: 5\n },\n end: {\n line: 183,\n column: 36\n }\n },\n \"76\": {\n start: {\n line: 184,\n column: 5\n },\n end: {\n line: 184,\n column: 56\n }\n },\n \"77\": {\n start: {\n line: 186,\n column: 10\n },\n end: {\n line: 188,\n column: 4\n }\n },\n \"78\": {\n start: {\n line: 187,\n column: 4\n },\n end: {\n line: 187,\n column: 40\n }\n },\n \"79\": {\n start: {\n line: 190,\n column: 3\n },\n end: {\n line: 190,\n column: 22\n }\n }\n },\n fnMap: {\n \"0\": {\n name: \"sendServer\",\n decl: {\n start: {\n line: 5,\n column: 9\n },\n end: {\n line: 5,\n column: 19\n }\n },\n loc: {\n start: {\n line: 5,\n column: 25\n },\n end: {\n line: 16,\n column: 1\n }\n },\n line: 5\n },\n \"1\": {\n name: \"runPage\",\n decl: {\n start: {\n line: 18,\n column: 15\n },\n end: {\n line: 18,\n column: 22\n }\n },\n loc: {\n start: {\n line: 18,\n column: 25\n },\n end: {\n line: 114,\n column: 1\n }\n },\n line: 18\n },\n \"2\": {\n name: \"(anonymous_2)\",\n decl: {\n start: {\n line: 46,\n column: 19\n },\n end: {\n line: 46,\n column: 20\n }\n },\n loc: {\n start: {\n line: 46,\n column: 26\n },\n end: {\n line: 46,\n column: 44\n }\n },\n line: 46\n },\n \"3\": {\n name: \"(anonymous_3)\",\n decl: {\n start: {\n line: 47,\n column: 22\n },\n end: {\n line: 47,\n column: 23\n }\n },\n loc: {\n start: {\n line: 47,\n column: 31\n },\n end: {\n line: 47,\n column: 36\n }\n },\n line: 47\n },\n \"4\": {\n name: \"(anonymous_4)\",\n decl: {\n start: {\n line: 49,\n column: 25\n },\n end: {\n line: 49,\n column: 26\n }\n },\n loc: {\n start: {\n line: 49,\n column: 35\n },\n end: {\n line: 51,\n column: 2\n }\n },\n line: 49\n },\n \"5\": {\n name: \"(anonymous_5)\",\n decl: {\n start: {\n line: 52,\n column: 27\n },\n end: {\n line: 52,\n column: 28\n }\n },\n loc: {\n start: {\n line: 52,\n column: 40\n },\n end: {\n line: 63,\n column: 2\n }\n },\n line: 52\n },\n \"6\": {\n name: \"sendServer\",\n decl: {\n start: {\n line: 66,\n column: 10\n },\n end: {\n line: 66,\n column: 20\n }\n },\n loc: {\n start: {\n line: 66,\n column: 26\n },\n end: {\n line: 72,\n column: 2\n }\n },\n line: 66\n },\n \"7\": {\n name: \"(anonymous_7)\",\n decl: {\n start: {\n line: 90,\n column: 21\n },\n end: {\n line: 90,\n column: 22\n }\n },\n loc: {\n start: {\n line: 90,\n column: 32\n },\n end: {\n line: 95,\n column: 2\n }\n },\n line: 90\n },\n \"8\": {\n name: \"(anonymous_8)\",\n decl: {\n start: {\n line: 96,\n column: 14\n },\n end: {\n line: 96,\n column: 15\n }\n },\n loc: {\n start: {\n line: 96,\n column: 25\n },\n end: {\n line: 98,\n column: 2\n }\n },\n line: 96\n },\n \"9\": {\n name: \"foo\",\n decl: {\n start: {\n line: 120,\n column: 15\n },\n end: {\n line: 120,\n column: 18\n }\n },\n loc: {\n start: {\n line: 120,\n column: 21\n },\n end: {\n line: 126,\n column: 1\n }\n },\n line: 120\n },\n \"10\": {\n name: \"bar\",\n decl: {\n start: {\n line: 128,\n column: 15\n },\n end: {\n line: 128,\n column: 18\n }\n },\n loc: {\n start: {\n line: 128,\n column: 21\n },\n end: {\n line: 193,\n column: 1\n }\n },\n line: 128\n },\n \"11\": {\n name: \"start\",\n decl: {\n start: {\n line: 146,\n column: 10\n },\n end: {\n line: 146,\n column: 15\n }\n },\n loc: {\n start: {\n line: 146,\n column: 18\n },\n end: {\n line: 173,\n column: 2\n }\n },\n line: 146\n },\n \"12\": {\n name: \"(anonymous_12)\",\n decl: {\n start: {\n line: 150,\n column: 22\n },\n end: {\n line: 150,\n column: 23\n }\n },\n loc: {\n start: {\n line: 150,\n column: 39\n },\n end: {\n line: 150,\n column: 66\n }\n },\n line: 150\n },\n \"13\": {\n name: \"(anonymous_13)\",\n decl: {\n start: {\n line: 153,\n column: 27\n },\n end: {\n line: 153,\n column: 28\n }\n },\n loc: {\n start: {\n line: 153,\n column: 39\n },\n end: {\n line: 161,\n column: 3\n }\n },\n line: 153\n },\n \"14\": {\n name: \"(anonymous_14)\",\n decl: {\n start: {\n line: 165,\n column: 19\n },\n end: {\n line: 165,\n column: 20\n }\n },\n loc: {\n start: {\n line: 165,\n column: 25\n },\n end: {\n line: 165,\n column: 47\n }\n },\n line: 165\n },\n \"15\": {\n name: \"(anonymous_15)\",\n decl: {\n start: {\n line: 166,\n column: 22\n },\n end: {\n line: 166,\n column: 23\n }\n },\n loc: {\n start: {\n line: 166,\n column: 34\n },\n end: {\n line: 166,\n column: 55\n }\n },\n line: 166\n },\n \"16\": {\n name: \"(anonymous_16)\",\n decl: {\n start: {\n line: 168,\n column: 21\n },\n end: {\n line: 168,\n column: 22\n }\n },\n loc: {\n start: {\n line: 168,\n column: 36\n },\n end: {\n line: 172,\n column: 3\n }\n },\n line: 168\n },\n \"17\": {\n name: \"(anonymous_17)\",\n decl: {\n start: {\n line: 175,\n column: 23\n },\n end: {\n line: 175,\n column: 24\n }\n },\n loc: {\n start: {\n line: 175,\n column: 67\n },\n end: {\n line: 192,\n column: 2\n }\n },\n line: 175\n }\n },\n branchMap: {\n \"0\": {\n loc: {\n start: {\n line: 56,\n column: 2\n },\n end: {\n line: 56,\n column: 31\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 56,\n column: 2\n },\n end: {\n line: 56,\n column: 31\n }\n }, {\n start: {\n line: 56,\n column: 2\n },\n end: {\n line: 56,\n column: 31\n }\n }],\n line: 56\n },\n \"1\": {\n loc: {\n start: {\n line: 58,\n column: 2\n },\n end: {\n line: 62,\n column: 3\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 58,\n column: 2\n },\n end: {\n line: 62,\n column: 3\n }\n }, {\n start: {\n line: 58,\n column: 2\n },\n end: {\n line: 62,\n column: 3\n }\n }],\n line: 58\n },\n \"2\": {\n loc: {\n start: {\n line: 60,\n column: 9\n },\n end: {\n line: 62,\n column: 3\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 60,\n column: 9\n },\n end: {\n line: 62,\n column: 3\n }\n }, {\n start: {\n line: 60,\n column: 9\n },\n end: {\n line: 62,\n column: 3\n }\n }],\n line: 60\n },\n \"3\": {\n loc: {\n start: {\n line: 91,\n column: 2\n },\n end: {\n line: 94,\n column: 3\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 91,\n column: 2\n },\n end: {\n line: 94,\n column: 3\n }\n }, {\n start: {\n line: 91,\n column: 2\n },\n end: {\n line: 94,\n column: 3\n }\n }],\n line: 91\n },\n \"4\": {\n loc: {\n start: {\n line: 170,\n column: 3\n },\n end: {\n line: 170,\n column: 29\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 170,\n column: 3\n },\n end: {\n line: 170,\n column: 29\n }\n }, {\n start: {\n line: 170,\n column: 3\n },\n end: {\n line: 170,\n column: 29\n }\n }],\n line: 170\n },\n \"5\": {\n loc: {\n start: {\n line: 176,\n column: 2\n },\n end: {\n line: 176,\n column: 24\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 176,\n column: 2\n },\n end: {\n line: 176,\n column: 24\n }\n }, {\n start: {\n line: 176,\n column: 2\n },\n end: {\n line: 176,\n column: 24\n }\n }],\n line: 176\n },\n \"6\": {\n loc: {\n start: {\n line: 179,\n column: 3\n },\n end: {\n line: 188,\n column: 4\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 179,\n column: 3\n },\n end: {\n line: 188,\n column: 4\n }\n }, {\n start: {\n line: 179,\n column: 3\n },\n end: {\n line: 188,\n column: 4\n }\n }],\n line: 179\n },\n \"7\": {\n loc: {\n start: {\n line: 182,\n column: 4\n },\n end: {\n line: 185,\n column: 5\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 182,\n column: 4\n },\n end: {\n line: 185,\n column: 5\n }\n }, {\n start: {\n line: 182,\n column: 4\n },\n end: {\n line: 185,\n column: 5\n }\n }],\n line: 182\n },\n \"8\": {\n loc: {\n start: {\n line: 186,\n column: 10\n },\n end: {\n line: 188,\n column: 4\n }\n },\n type: \"if\",\n locations: [{\n start: {\n line: 186,\n column: 10\n },\n end: {\n line: 188,\n column: 4\n }\n }, {\n start: {\n line: 186,\n column: 10\n },\n end: {\n line: 188,\n column: 4\n }\n }],\n line: 186\n }\n },\n s: {\n \"0\": 0,\n \"1\": 0,\n \"2\": 0,\n \"3\": 0,\n \"4\": 0,\n \"5\": 0,\n \"6\": 0,\n \"7\": 0,\n \"8\": 0,\n \"9\": 0,\n \"10\": 0,\n \"11\": 0,\n \"12\": 0,\n \"13\": 0,\n \"14\": 0,\n \"15\": 0,\n \"16\": 0,\n \"17\": 0,\n \"18\": 0,\n \"19\": 0,\n \"20\": 0,\n \"21\": 0,\n \"22\": 0,\n \"23\": 0,\n \"24\": 0,\n \"25\": 0,\n \"26\": 0,\n \"27\": 0,\n \"28\": 0,\n \"29\": 0,\n \"30\": 0,\n \"31\": 0,\n \"32\": 0,\n \"33\": 0,\n \"34\": 0,\n \"35\": 0,\n \"36\": 0,\n \"37\": 0,\n \"38\": 0,\n \"39\": 0,\n \"40\": 0,\n \"41\": 0,\n \"42\": 0,\n \"43\": 0,\n \"44\": 0,\n \"45\": 0,\n \"46\": 0,\n \"47\": 0,\n \"48\": 0,\n \"49\": 0,\n \"50\": 0,\n \"51\": 0,\n \"52\": 0,\n \"53\": 0,\n \"54\": 0,\n \"55\": 0,\n \"56\": 0,\n \"57\": 0,\n \"58\": 0,\n \"59\": 0,\n \"60\": 0,\n \"61\": 0,\n \"62\": 0,\n \"63\": 0,\n \"64\": 0,\n \"65\": 0,\n \"66\": 0,\n \"67\": 0,\n \"68\": 0,\n \"69\": 0,\n \"70\": 0,\n \"71\": 0,\n \"72\": 0,\n \"73\": 0,\n \"74\": 0,\n \"75\": 0,\n \"76\": 0,\n \"77\": 0,\n \"78\": 0,\n \"79\": 0\n },\n f: {\n \"0\": 0,\n \"1\": 0,\n \"2\": 0,\n \"3\": 0,\n \"4\": 0,\n \"5\": 0,\n \"6\": 0,\n \"7\": 0,\n \"8\": 0,\n \"9\": 0,\n \"10\": 0,\n \"11\": 0,\n \"12\": 0,\n \"13\": 0,\n \"14\": 0,\n \"15\": 0,\n \"16\": 0,\n \"17\": 0\n },\n b: {\n \"0\": [0, 0],\n \"1\": [0, 0],\n \"2\": [0, 0],\n \"3\": [0, 0],\n \"4\": [0, 0],\n \"5\": [0, 0],\n \"6\": [0, 0],\n \"7\": [0, 0],\n \"8\": [0, 0]\n },\n _coverageSchema: \"1a1c01bbd47fc00a2c39e90264f33305004495a9\",\n hash: \"7b75387d72eeddddb251156c010fec8db30faf67\"\n };\n var coverage = global[gcv] || (global[gcv] = {});\n\n if (!coverage[path] || coverage[path].hash !== hash) {\n coverage[path] = coverageData;\n }\n\n var actualCoverage = coverage[path];\n\n cov_4h8japy5f = function () {\n return actualCoverage;\n };\n\n return actualCoverage;\n}\n\ncov_4h8japy5f();\n\nfunction sendServer(obj) {\n cov_4h8japy5f().f[0]++;\n let lclobj = (cov_4h8japy5f().s[0]++, Object.assign({}, obj));\n cov_4h8japy5f().s[1]++;\n lclobj.uuid = uuid;\n cov_4h8japy5f().s[2]++;\n return fetch('/offer', {\n body: JSON.stringify(lclobj),\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST'\n });\n}\n\nasync function runPage() {\n cov_4h8japy5f().f[1]++;\n const uuid = (cov_4h8japy5f().s[3]++, (0, _uuid.v4)());\n const constatus = (cov_4h8japy5f().s[4]++, document.getElementById('constatus'));\n const audioSink = (cov_4h8japy5f().s[5]++, document.getElementById('audioSink'));\n var stream;\n var wsp;\n var pc;\n const constraints = (cov_4h8japy5f().s[6]++, {\n audio: {\n latency: .005,\n\n /* 5ms latency */\n channelCount: 1,\n noiseSuppression: false,\n autoGainControl: false,\n sampleRate: {\n min: 22050,\n max: 48000,\n ideal: 32000\n }\n }\n });\n /* setup local media */\n\n cov_4h8japy5f().s[7]++;\n\n try {\n cov_4h8japy5f().s[8]++;\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (err) {\n cov_4h8japy5f().s[9]++;\n constatus.textContent = 'Unable to open microphone';\n cov_4h8japy5f().s[10]++;\n return;\n }\n /* setup server messages */\n\n\n cov_4h8japy5f().s[11]++;\n wsp = new _websocketAsPromised.default('ws://' + window.location.host + '/ws', {\n createWebSocket: url => {\n cov_4h8japy5f().f[2]++;\n cov_4h8japy5f().s[12]++;\n return new WebSocket(url);\n },\n extractMessageData: event => {\n cov_4h8japy5f().f[3]++;\n cov_4h8japy5f().s[13]++;\n return event;\n }\n });\n cov_4h8japy5f().s[14]++;\n wsp.onError.addListener(err => {\n cov_4h8japy5f().f[4]++;\n cov_4h8japy5f().s[15]++;\n constatus.textContent = 'connection to server lost';\n });\n cov_4h8japy5f().s[16]++;\n wsp.onMessage.addListener(message => {\n cov_4h8japy5f().f[5]++;\n var msg = (cov_4h8japy5f().s[17]++, JSON.parse(message.data));\n cov_4h8japy5f().s[18]++;\n console.log('got message via ws:', msg);\n cov_4h8japy5f().s[19]++;\n\n if (msg.uuid == uuid) {\n cov_4h8japy5f().b[0][0]++;\n cov_4h8japy5f().s[20]++;\n return;\n } else {\n cov_4h8japy5f().b[0][1]++;\n }\n\n cov_4h8japy5f().s[21]++;\n\n if (msg.sdp) {\n cov_4h8japy5f().b[1][0]++;\n cov_4h8japy5f().s[22]++;\n pc.setRemoteDescription(new RTCSessionDescription(msg));\n } else {\n cov_4h8japy5f().b[1][1]++;\n cov_4h8japy5f().s[23]++;\n\n if (msg.ice) {\n cov_4h8japy5f().b[2][0]++;\n cov_4h8japy5f().s[24]++;\n pc.addIceCandidate(new RTCIceCandidate(msg.ice));\n } else {\n cov_4h8japy5f().b[2][1]++;\n }\n }\n });\n cov_4h8japy5f().s[25]++;\n await wsp.open();\n\n function sendServer(obj) {\n cov_4h8japy5f().f[6]++;\n var lclobj = (cov_4h8japy5f().s[26]++, Object.assign({}, obj));\n cov_4h8japy5f().s[27]++;\n lclobj.uuid = uuid;\n cov_4h8japy5f().s[28]++;\n console.log('send:', lclobj);\n cov_4h8japy5f().s[29]++;\n wsp.send(JSON.stringify(lclobj));\n }\n /* we are initiator */\n\n\n const configuration = (cov_4h8japy5f().s[30]++, {\n iceServers: [{\n urls: ['stun:stun3.l.google.com:19302',\n /* reduce number of stun servers\n 'stun:stun.l.google.com:19302',\n 'stun:stun1.l.google.com:19302',\n 'stun:stun2.l.google.com:19302',\n 'stun:stun4.l.google.com:19302',\n */\n 'stun:stun.services.mozilla.com']\n }]\n });\n cov_4h8japy5f().s[31]++;\n pc = new RTCPeerConnection(configuration);\n cov_4h8japy5f().s[32]++;\n\n pc.onicecandidate = event => {\n cov_4h8japy5f().f[7]++;\n cov_4h8japy5f().s[33]++;\n\n if (event.candidate != null) {\n cov_4h8japy5f().b[3][0]++;\n cov_4h8japy5f().s[34]++;\n console.log(event.candidate);\n cov_4h8japy5f().s[35]++;\n sendServer({\n ice: event.candidate\n });\n } else {\n cov_4h8japy5f().b[3][1]++;\n }\n };\n\n cov_4h8japy5f().s[36]++;\n\n pc.ontrack = event => {\n cov_4h8japy5f().f[8]++;\n cov_4h8japy5f().s[37]++;\n audioSink.srcObject = event.streams[0];\n };\n\n cov_4h8japy5f().s[38]++;\n pc.addStream(stream);\n cov_4h8japy5f().s[39]++;\n\n try {\n var desc = (cov_4h8japy5f().s[40]++, await pc.createOffer());\n } catch (err) {\n cov_4h8japy5f().s[41]++;\n constatus.textContent = 'failed to create offer for server: ' + err;\n cov_4h8japy5f().s[42]++;\n return;\n }\n /* do description filtering here */\n\n\n cov_4h8japy5f().s[43]++;\n await pc.setLocalDescription(desc);\n var ld = (cov_4h8japy5f().s[44]++, pc.localDescription);\n cov_4h8japy5f().s[45]++;\n sendServer({\n sdp: ld.sdp,\n type: ld.type\n });\n}\n\ncov_4h8japy5f().s[46]++;\nrunPage(); // #4 of https://stackoverflow.com/questions/37656592/define-global-variable-with-webpack\n\ncov_4h8japy5f().s[47]++;\nglobal.runPage = runPage;\n\nasync function foo() {\n cov_4h8japy5f().f[9]++;\n var cert = (cov_4h8japy5f().s[48]++, await RTCPeerConnection.generateCertificate({\n name: \"ECDSA\",\n namedCurve: \"P-256\",\n hash: 'SHA-256'\n })); // global.pc = new RTCPeerConnection({certificates: [cert]});\n}\n\nasync function bar() {\n cov_4h8japy5f().f[10]++;\n const signaling = (cov_4h8japy5f().s[49]++, new SignalingChannel()); // handles JSON.stringify/parse\n\n const configuration = (cov_4h8japy5f().s[50]++, {\n iceServers: [{\n urls: ['stun.l.google.com:19302', 'stun1.l.google.com:19302', 'stun2.l.google.com:19302', 'stun3.l.google.com:19302', 'stun4.l.google.com:19302', 'stun:stun.services.mozilla.com']\n }]\n });\n let pc, channel; // call start() to initiate\n\n function start() {\n cov_4h8japy5f().f[11]++;\n cov_4h8japy5f().s[51]++;\n pc = new RTCPeerConnection(configuration); // send any ice candidates to the other peer\n\n cov_4h8japy5f().s[52]++;\n\n pc.onicecandidate = (_ref) => {\n let {\n candidate\n } = _ref;\n cov_4h8japy5f().f[12]++;\n cov_4h8japy5f().s[53]++;\n return signaling.send({\n candidate\n });\n }; // let the \"negotiationneeded\" event trigger offer generation\n\n\n cov_4h8japy5f().s[54]++;\n\n pc.onnegotiationneeded = async () => {\n cov_4h8japy5f().f[13]++;\n cov_4h8japy5f().s[55]++;\n\n try {\n cov_4h8japy5f().s[56]++;\n await pc.setLocalDescription(); // send the offer to the other peer\n\n cov_4h8japy5f().s[57]++;\n signaling.send({\n description: pc.localDescription\n });\n } catch (err) {\n cov_4h8japy5f().s[58]++;\n console.error(err);\n }\n }; // create data channel and setup chat using \"negotiated\" pattern\n\n\n cov_4h8japy5f().s[59]++;\n channel = pc.createDataChannel('chat', {\n negotiated: true,\n id: 0\n });\n cov_4h8japy5f().s[60]++;\n\n channel.onopen = () => {\n cov_4h8japy5f().f[14]++;\n cov_4h8japy5f().s[61]++;\n return input.disabled = false;\n };\n\n cov_4h8japy5f().s[62]++;\n\n channel.onmessage = (_ref2) => {\n let {\n data\n } = _ref2;\n cov_4h8japy5f().f[15]++;\n cov_4h8japy5f().s[63]++;\n return showChatMessage(data);\n };\n\n cov_4h8japy5f().s[64]++;\n\n input.onkeypress = (_ref3) => {\n let {\n keyCode\n } = _ref3;\n cov_4h8japy5f().f[16]++;\n cov_4h8japy5f().s[65]++;\n\n // only send when user presses enter\n if (keyCode != 13) {\n cov_4h8japy5f().b[4][0]++;\n cov_4h8japy5f().s[66]++;\n return;\n } else {\n cov_4h8japy5f().b[4][1]++;\n }\n\n cov_4h8japy5f().s[67]++;\n channel.send(input.value);\n };\n }\n\n cov_4h8japy5f().s[68]++;\n\n signaling.onmessage = async (_ref4) => {\n let {\n data: {\n description,\n candidate\n }\n } = _ref4;\n cov_4h8japy5f().f[17]++;\n cov_4h8japy5f().s[69]++;\n\n if (!pc) {\n cov_4h8japy5f().b[5][0]++;\n cov_4h8japy5f().s[70]++;\n start(false);\n } else {\n cov_4h8japy5f().b[5][1]++;\n }\n\n cov_4h8japy5f().s[71]++;\n\n try {\n cov_4h8japy5f().s[72]++;\n\n if (description) {\n cov_4h8japy5f().b[6][0]++;\n cov_4h8japy5f().s[73]++;\n await pc.setRemoteDescription(description); // if we got an offer, we need to reply with an answer\n\n cov_4h8japy5f().s[74]++;\n\n if (description.type == 'offer') {\n cov_4h8japy5f().b[7][0]++;\n cov_4h8japy5f().s[75]++;\n await pc.setLocalDescription();\n cov_4h8japy5f().s[76]++;\n signaling.send({\n description: pc.localDescription\n });\n } else {\n cov_4h8japy5f().b[7][1]++;\n }\n } else {\n cov_4h8japy5f().b[6][1]++;\n cov_4h8japy5f().s[77]++;\n\n if (candidate) {\n cov_4h8japy5f().b[8][0]++;\n cov_4h8japy5f().s[78]++;\n await pc.addIceCandidate(candidate);\n } else {\n cov_4h8japy5f().b[8][1]++;\n }\n }\n } catch (err) {\n cov_4h8japy5f().s[79]++;\n console.error(err);\n }\n };\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./lib/index.js?");
-
- /***/ }),
-
- /***/ "./lib/jamming.js":
- /*!************************!*\
- !*** ./lib/jamming.js ***!
- \************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Jamming = void 0;\n\nvar _inlineWorker = _interopRequireDefault(__webpack_require__(/*! inline-worker */ \"./node_modules/inline-worker/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction cov_by2g4qu96() {\n var path = \"/Users/jmg/git/jamming/src/jamming.js\";\n var hash = \"d263be650f0fdeb5bd2847ea6b9c2431bf9cfe47\";\n var global = new Function(\"return this\")();\n var gcv = \"__coverage__\";\n var coverageData = {\n path: \"/Users/jmg/git/jamming/src/jamming.js\",\n statementMap: {\n \"0\": {\n start: {\n line: 4,\n column: 10\n },\n end: {\n line: 7,\n column: 2\n }\n },\n \"1\": {\n start: {\n line: 10,\n column: 2\n },\n end: {\n line: 10,\n column: 33\n }\n },\n \"2\": {\n start: {\n line: 12,\n column: 2\n },\n end: {\n line: 18,\n column: 5\n }\n },\n \"3\": {\n start: {\n line: 13,\n column: 20\n },\n end: {\n line: 13,\n column: 22\n }\n },\n \"4\": {\n start: {\n line: 14,\n column: 3\n },\n end: {\n line: 17,\n column: 4\n }\n },\n \"5\": {\n start: {\n line: 15,\n column: 4\n },\n end: {\n line: 16,\n column: 5\n }\n }\n },\n fnMap: {\n \"0\": {\n name: \"(anonymous_0)\",\n decl: {\n start: {\n line: 9,\n column: 1\n },\n end: {\n line: 9,\n column: 2\n }\n },\n loc: {\n start: {\n line: 9,\n column: 26\n },\n end: {\n line: 20,\n column: 2\n }\n },\n line: 9\n },\n \"1\": {\n name: \"(anonymous_1)\",\n decl: {\n start: {\n line: 12,\n column: 33\n },\n end: {\n line: 12,\n column: 34\n }\n },\n loc: {\n start: {\n line: 12,\n column: 44\n },\n end: {\n line: 18,\n column: 3\n }\n },\n line: 12\n },\n \"2\": {\n name: \"(anonymous_2)\",\n decl: {\n start: {\n line: 14,\n column: 20\n },\n end: {\n line: 14,\n column: 21\n }\n },\n loc: {\n start: {\n line: 14,\n column: 32\n },\n end: {\n line: 17,\n column: 4\n }\n },\n line: 14\n },\n \"3\": {\n name: \"(anonymous_3)\",\n decl: {\n start: {\n line: 22,\n column: 1\n },\n end: {\n line: 22,\n column: 2\n }\n },\n loc: {\n start: {\n line: 22,\n column: 15\n },\n end: {\n line: 23,\n column: 2\n }\n },\n line: 22\n }\n },\n branchMap: {},\n s: {\n \"0\": 0,\n \"1\": 0,\n \"2\": 0,\n \"3\": 0,\n \"4\": 0,\n \"5\": 0\n },\n f: {\n \"0\": 0,\n \"1\": 0,\n \"2\": 0,\n \"3\": 0\n },\n b: {},\n _coverageSchema: \"1a1c01bbd47fc00a2c39e90264f33305004495a9\",\n hash: \"d263be650f0fdeb5bd2847ea6b9c2431bf9cfe47\"\n };\n var coverage = global[gcv] || (global[gcv] = {});\n\n if (!coverage[path] || coverage[path].hash !== hash) {\n coverage[path] = coverageData;\n }\n\n var actualCoverage = coverage[path];\n\n cov_by2g4qu96 = function () {\n return actualCoverage;\n };\n\n return actualCoverage;\n}\n\ncov_by2g4qu96();\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\nclass Jamming {\n constructor(source, cfg) {\n _defineProperty(this, \"config\", (cov_by2g4qu96().s[0]++, {\n sampleRate: 48000,\n frameSize: 100\n /* in ms */\n\n }));\n\n cov_by2g4qu96().f[0]++;\n cov_by2g4qu96().s[1]++;\n Object.assign(this.config, cfg);\n /* ================ START THREAD ================ */\n\n cov_by2g4qu96().s[2]++;\n this.worker = new _inlineWorker.default(function () {\n cov_by2g4qu96().f[1]++;\n let recBuffers = (cov_by2g4qu96().s[3]++, []);\n cov_by2g4qu96().s[4]++;\n\n this.onmessage = function (e) {\n cov_by2g4qu96().f[2]++;\n cov_by2g4qu96().s[5]++;\n\n switch (e.data.command) {}\n };\n });\n /* ================ END THREAD ================ */\n }\n\n async start() {\n cov_by2g4qu96().f[3]++;\n }\n\n}\n\nexports.Jamming = Jamming;\n;\nvar _default = Jamming;\nexports.default = _default;\n\n//# sourceURL=webpack:///./lib/jamming.js?");
-
- /***/ }),
-
- /***/ "./node_modules/chnl/dist/channel.cjs.js":
- /*!***********************************************!*\
- !*** ./node_modules/chnl/dist/channel.cjs.js ***!
- \***********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("/* chnl v1.1.1 by Vitaliy Potapov @preserve */\nfunction _typeof(e){return(_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _inherits(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _possibleConstructorReturn(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?_assertThisInitialized(e):t}var Channel=function(){function t(e){_classCallCheck(this,t),this._listeners=[],this._mute=!1,this._accumulate=!1,this._accumulatedEvents=[],this._name=e||\"\",this._onListenerAdded=null,this._onFirstListenerAdded=null,this._onListenerRemoved=null,this._onLastListenerRemoved=null}return _createClass(t,[{key:\"addListener\",value:function(e,t){this._pushListener(e,t,!1)}},{key:\"addOnceListener\",value:function(e,t){this._pushListener(e,t,!0)}},{key:\"removeListener\",value:function(e,t){this._ensureFunction(e);var n=this._indexOfListener(e,t);0<=n&&this._spliceListener(n)}},{key:\"removeAllListeners\",value:function(){for(;this.hasListeners();)this._spliceListener(0)}},{key:\"hasListener\",value:function(e,t){return this._ensureFunction(e),0<=this._indexOfListener(e,t)}},{key:\"hasListeners\",value:function(){return 0<this._listeners.length}},{key:\"dispatch\",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._invokeListeners({args:t,async:!1})}},{key:\"dispatchAsync\",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._invokeListeners({args:t,async:!0})}},{key:\"mute\",value:function(e){var t=0<arguments.length&&void 0!==e?e:{};this._mute=!0,t.accumulate?this._accumulate=!0:(this._accumulate=!1,this._accumulatedEvents=[])}},{key:\"unmute\",value:function(){this._mute=!1,this._accumulate&&(this._dispatchAccumulated(),this._accumulate=!1)}},{key:\"_invokeListeners\",value:function(e){var t=this,n=0<arguments.length&&void 0!==e?e:{args:[],async:!1};this._mute?this._accumulate&&this._accumulatedEvents.push(n):this._listeners.slice().forEach(function(e){t._invokeListener(e,n),e.once&&t.removeListener(e.callback,e.context)})}},{key:\"_invokeListener\",value:function(e,t){t.async?setTimeout(function(){return e.callback.apply(e.context,t.args)},0):e.callback.apply(e.context,t.args)}},{key:\"_ensureFunction\",value:function(e){if(\"function\"!=typeof e)throw new Error(\"Channel \"+this._name+\": listener is not a function\")}},{key:\"_dispatchInnerAddEvents\",value:function(){var e,t;this._onListenerAdded&&(e=this._onListenerAdded).dispatch.apply(e,arguments);this._onFirstListenerAdded&&1===this._listeners.length&&(t=this._onFirstListenerAdded).dispatch.apply(t,arguments)}},{key:\"_dispatchInnerRemoveEvents\",value:function(){var e,t;this._onListenerRemoved&&(e=this._onListenerRemoved).dispatch.apply(e,arguments);this._onLastListenerRemoved&&0===this._listeners.length&&(t=this._onLastListenerRemoved).dispatch.apply(t,arguments)}},{key:\"_indexOfListener\",value:function(e,t){for(var n=0;n<this._listeners.length;n++){var i=this._listeners[n],s=i.callback===e,r=void 0===t&&void 0===i.context,o=t===i.context;if(s&&(r||o))return n}}},{key:\"_dispatchAccumulated\",value:function(){var t=this;this._accumulatedEvents.forEach(function(e){return t._invokeListeners(e)}),this._accumulatedEvents=[]}},{key:\"_pushListener\",value:function(e,t,n){this._ensureFunction(e),this._checkForDuplicates(e,t),this._listeners.push({callback:e,context:t,once:n}),this._dispatchInnerAddEvents(e,t,n)}},{key:\"_checkForDuplicates\",value:function(e,t){if(this.hasListener(e,t))throw new Error(\"Channel \"+this._name+\": duplicating listeners\")}},{key:\"_spliceListener\",value:function(e){var t=this._listeners[e],n=t.callback,i=t.context,s=t.once;this._listeners.splice(e,1),this._dispatchInnerRemoveEvents(n,i,s)}},{key:\"onListenerAdded\",get:function(){return this._onListenerAdded||(this._onListenerAdded=new t(\"\".concat(this._name,\":onListenerAdded\"))),this._onListenerAdded}},{key:\"onFirstListenerAdded\",get:function(){return this._onFirstListenerAdded||(this._onFirstListenerAdded=new t(\"\".concat(this._name,\":onFirstListenerAdded\"))),this._onFirstListenerAdded}},{key:\"onListenerRemoved\",get:function(){return this._onListenerRemoved||(this._onListenerRemoved=new t(\"\".concat(this._name,\":onListenerRemoved\"))),this._onListenerRemoved}},{key:\"onLastListenerRemoved\",get:function(){return this._onLastListenerRemoved||(this._onLastListenerRemoved=new t(\"\".concat(this._name,\":onLastListenerRemoved\"))),this._onLastListenerRemoved}}]),t}(),EventEmitter=function(){function e(){_classCallCheck(this,e),this._channels=new Map}return _createClass(e,[{key:\"addListener\",value:function(e,t,n){this._getChannel(e).addListener(t,n)}},{key:\"on\",value:function(e,t,n){this.addListener(e,t,n)}},{key:\"addOnceListener\",value:function(e,t,n){this._getChannel(e).addOnceListener(t,n)}},{key:\"once\",value:function(e,t,n){this.addOnceListener(e,t,n)}},{key:\"removeListener\",value:function(e,t,n){this._getChannel(e).removeListener(t,n)}},{key:\"off\",value:function(e,t,n){this.removeListener(e,t,n)}},{key:\"hasListener\",value:function(e,t,n){return this._getChannel(e).hasListener(t,n)}},{key:\"has\",value:function(e,t,n){return this.hasListener(e,t,n)}},{key:\"hasListeners\",value:function(e){return this._getChannel(e).hasListeners()}},{key:\"dispatch\",value:function(e){for(var t,n=arguments.length,i=new Array(1<n?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];(t=this._getChannel(e)).dispatch.apply(t,i)}},{key:\"emit\",value:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this.dispatch.apply(this,[e].concat(n))}},{key:\"_getChannel\",value:function(e){return this._channels.has(e)||this._channels.set(e,new Channel(e)),this._channels.get(e)}}]),e}(),SubscriptionItem=function(){function t(e){_classCallCheck(this,t),this._params=e,this._isOn=!1,this._assertParams()}return _createClass(t,[{key:\"on\",value:function(){if(!this._isOn){var e=this._params.channel,t=e.addListener||e.addEventListener||e.on;this._applyMethod(t),this._isOn=!0}}},{key:\"off\",value:function(){if(this._isOn){var e=this._params.channel,t=e.removeListener||e.removeEventListener||e.off;this._applyMethod(t),this._isOn=!1}}},{key:\"_applyMethod\",value:function(e){var t=this._params,n=t.channel,i=t.event,s=t.listener,r=i?[i,s]:[s];e.apply(n,r)}},{key:\"_assertParams\",value:function(){var e=this._params,t=e.channel,n=e.event,i=e.listener;if(!t||\"object\"!==_typeof(t))throw new Error(\"Channel should be object\");if(n&&\"string\"!=typeof n)throw new Error(\"Event should be string\");if(!i||\"function\"!=typeof i)throw new Error(\"Listener should be function\")}}]),t}(),Subscription=function(){function t(e){_classCallCheck(this,t),this._items=e.map(function(e){return new SubscriptionItem(e)})}return _createClass(t,[{key:\"on\",value:function(){return this._items.forEach(function(e){return e.on()}),this}},{key:\"off\",value:function(){return this._items.forEach(function(e){return e.off()}),this}}]),t}(),ReactSubscription=function(){function i(e,t){var n;return _classCallCheck(this,i),(n=_possibleConstructorReturn(this,_getPrototypeOf(i).call(this,t)))._overrideComponentCallback(e,\"componentDidMount\",\"on\"),n._overrideComponentCallback(e,\"componentWillUnmount\",\"off\"),n}return _inherits(i,Subscription),_createClass(i,[{key:\"_overrideComponentCallback\",value:function(i,e,s){var r=this,o=i[e];i[e]=function(){if(r[s](),\"function\"==typeof o){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return o.apply(i,t)}}}}]),i}(),chnl=Channel;chnl.EventEmitter=EventEmitter,chnl.Subscription=Subscription,chnl.ReactSubscription=ReactSubscription,module.exports=chnl;\n\n\n//# sourceURL=webpack:///./node_modules/chnl/dist/channel.cjs.js?");
-
- /***/ }),
-
- /***/ "./node_modules/define-properties/index.js":
- /*!*************************************************!*\
- !*** ./node_modules/define-properties/index.js ***!
- \*************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar keys = __webpack_require__(/*! object-keys */ \"./node_modules/object-keys/index.js\");\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n\n\n//# sourceURL=webpack:///./node_modules/define-properties/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/2018/IsCallable.js":
- /*!*****************************************************!*\
- !*** ./node_modules/es-abstract/2018/IsCallable.js ***!
- \*****************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11\n\nmodule.exports = __webpack_require__(/*! is-callable */ \"./node_modules/is-callable/index.js\");\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/2018/IsCallable.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/2018/IsConstructor.js":
- /*!********************************************************!*\
- !*** ./node_modules/es-abstract/2018/IsConstructor.js ***!
- \********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor\n\nmodule.exports = function IsConstructor(argument) {\n\treturn typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`\n};\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/2018/IsConstructor.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/2018/SpeciesConstructor.js":
- /*!*************************************************************!*\
- !*** ./node_modules/es-abstract/2018/SpeciesConstructor.js ***!
- \*************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \"./node_modules/es-abstract/GetIntrinsic.js\");\n\nvar $species = GetIntrinsic('%Symbol.species%', true);\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar IsConstructor = __webpack_require__(/*! ./IsConstructor */ \"./node_modules/es-abstract/2018/IsConstructor.js\");\nvar Type = __webpack_require__(/*! ./Type */ \"./node_modules/es-abstract/2018/Type.js\");\n\n// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor\n\nmodule.exports = function SpeciesConstructor(O, defaultConstructor) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\tvar C = O.constructor;\n\tif (typeof C === 'undefined') {\n\t\treturn defaultConstructor;\n\t}\n\tif (Type(C) !== 'Object') {\n\t\tthrow new $TypeError('O.constructor is not an Object');\n\t}\n\tvar S = $species ? C[$species] : void 0;\n\tif (S == null) {\n\t\treturn defaultConstructor;\n\t}\n\tif (IsConstructor(S)) {\n\t\treturn S;\n\t}\n\tthrow new $TypeError('no constructor found');\n};\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/2018/SpeciesConstructor.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/2018/Type.js":
- /*!***********************************************!*\
- !*** ./node_modules/es-abstract/2018/Type.js ***!
- \***********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar ES5Type = __webpack_require__(/*! ../5/Type */ \"./node_modules/es-abstract/5/Type.js\");\n\n// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\treturn ES5Type(x);\n};\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/2018/Type.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/5/Type.js":
- /*!********************************************!*\
- !*** ./node_modules/es-abstract/5/Type.js ***!
- \********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n// https://www.ecma-international.org/ecma-262/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/5/Type.js?");
-
- /***/ }),
-
- /***/ "./node_modules/es-abstract/GetIntrinsic.js":
- /*!**************************************************!*\
- !*** ./node_modules/es-abstract/GetIntrinsic.js ***!
- \**************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n/* globals\n\tAtomics,\n\tSharedArrayBuffer,\n*/\n\nvar undefined;\n\nvar $TypeError = TypeError;\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () { throw new $TypeError(); };\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \"./node_modules/has-symbols/index.js\")();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar generator; // = function * () {};\nvar generatorFunction = generator ? getProto(generator) : undefined;\nvar asyncFn; // async function() {};\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\nvar asyncGen; // async function * () {};\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%ArrayPrototype%': Array.prototype,\n\t'%ArrayProto_entries%': Array.prototype.entries,\n\t'%ArrayProto_forEach%': Array.prototype.forEach,\n\t'%ArrayProto_keys%': Array.prototype.keys,\n\t'%ArrayProto_values%': Array.prototype.values,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': asyncFunction,\n\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\n\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\n\t'%AsyncGeneratorFunction%': asyncGenFunction,\n\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\n\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%Boolean%': Boolean,\n\t'%BooleanPrototype%': Boolean.prototype,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\n\t'%Date%': Date,\n\t'%DatePrototype%': Date.prototype,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%ErrorPrototype%': Error.prototype,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%EvalErrorPrototype%': EvalError.prototype,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\n\t'%Function%': Function,\n\t'%FunctionPrototype%': Function.prototype,\n\t'%Generator%': generator ? getProto(generator()) : undefined,\n\t'%GeneratorFunction%': generatorFunction,\n\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%NumberPrototype%': Number.prototype,\n\t'%Object%': Object,\n\t'%ObjectPrototype%': Object.prototype,\n\t'%ObjProto_toString%': Object.prototype.toString,\n\t'%ObjProto_valueOf%': Object.prototype.valueOf,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\n\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\n\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\n\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\n\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%RangeErrorPrototype%': RangeError.prototype,\n\t'%ReferenceError%': ReferenceError,\n\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%RegExpPrototype%': RegExp.prototype,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%StringPrototype%': String.prototype,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\n\t'%SyntaxError%': SyntaxError,\n\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\n\t'%TypeError%': $TypeError,\n\t'%TypeErrorPrototype%': $TypeError.prototype,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\n\t'%URIError%': URIError,\n\t'%URIErrorPrototype%': URIError.prototype,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\n};\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar $replace = bind.call(Function.call, String.prototype.replace);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tif (!(name in INTRINSICS)) {\n\t\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\n\t}\n\n\t// istanbul ignore if // hopefully this is impossible to test :-)\n\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\n\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t}\n\n\treturn INTRINSICS[name];\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\n\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\n\tfor (var i = 1; i < parts.length; i += 1) {\n\t\tif (value != null) {\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, parts[i]);\n\t\t\t\tif (!allowMissing && !(parts[i] in value)) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\n\t\t\t} else {\n\t\t\t\tvalue = value[parts[i]];\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/es-abstract/GetIntrinsic.js?");
-
- /***/ }),
-
- /***/ "./node_modules/function-bind/implementation.js":
- /*!******************************************************!*\
- !*** ./node_modules/function-bind/implementation.js ***!
- \******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n\n\n//# sourceURL=webpack:///./node_modules/function-bind/implementation.js?");
-
- /***/ }),
-
- /***/ "./node_modules/function-bind/index.js":
- /*!*********************************************!*\
- !*** ./node_modules/function-bind/index.js ***!
- \*********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/function-bind/implementation.js\");\n\nmodule.exports = Function.prototype.bind || implementation;\n\n\n//# sourceURL=webpack:///./node_modules/function-bind/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/has-symbols/index.js":
- /*!*******************************************!*\
- !*** ./node_modules/has-symbols/index.js ***!
- \*******************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(global) {\n\nvar origSymbol = global.Symbol;\nvar hasSymbolSham = __webpack_require__(/*! ./shams */ \"./node_modules/has-symbols/shams.js\");\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/has-symbols/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/has-symbols/shams.js":
- /*!*******************************************!*\
- !*** ./node_modules/has-symbols/shams.js ***!
- \*******************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n\n\n//# sourceURL=webpack:///./node_modules/has-symbols/shams.js?");
-
- /***/ }),
-
- /***/ "./node_modules/inline-worker/index.js":
- /*!*********************************************!*\
- !*** ./node_modules/inline-worker/index.js ***!
- \*********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- eval("/* WEBPACK VAR INJECTION */(function(global) {var WORKER_ENABLED = !!(global === global.window && global.URL && global.Blob && global.Worker);\n\nfunction InlineWorker(func, self) {\n var _this = this;\n var functionBody;\n\n self = self || {};\n\n if (WORKER_ENABLED) {\n functionBody = func.toString().trim().match(\n /^function\\s*\\w*\\s*\\([\\w\\s,]*\\)\\s*{([\\w\\W]*?)}$/\n )[1];\n\n return new global.Worker(global.URL.createObjectURL(\n new global.Blob([ functionBody ], { type: \"text/javascript\" })\n ));\n }\n\n function postMessage(data) {\n setTimeout(function() {\n _this.onmessage({ data: data });\n }, 0);\n }\n\n this.self = self;\n this.self.postMessage = postMessage;\n\n setTimeout(func.bind(self, self), 0);\n}\n\nInlineWorker.prototype.postMessage = function postMessage(data) {\n var _this = this;\n\n setTimeout(function() {\n _this.self.onmessage({ data: data });\n }, 0);\n};\n\nmodule.exports = InlineWorker;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/inline-worker/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/is-callable/index.js":
- /*!*******************************************!*\
- !*** ./node_modules/is-callable/index.js ***!
- \*******************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (typeof value === 'function' && !value.prototype) { return true; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n\n\n//# sourceURL=webpack:///./node_modules/is-callable/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/object-keys/implementation.js":
- /*!****************************************************!*\
- !*** ./node_modules/object-keys/implementation.js ***!
- \****************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = __webpack_require__(/*! ./isArguments */ \"./node_modules/object-keys/isArguments.js\"); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n\n\n//# sourceURL=webpack:///./node_modules/object-keys/implementation.js?");
-
- /***/ }),
-
- /***/ "./node_modules/object-keys/index.js":
- /*!*******************************************!*\
- !*** ./node_modules/object-keys/index.js ***!
- \*******************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar slice = Array.prototype.slice;\nvar isArgs = __webpack_require__(/*! ./isArguments */ \"./node_modules/object-keys/isArguments.js\");\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(/*! ./implementation */ \"./node_modules/object-keys/implementation.js\");\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n//# sourceURL=webpack:///./node_modules/object-keys/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/object-keys/isArguments.js":
- /*!*************************************************!*\
- !*** ./node_modules/object-keys/isArguments.js ***!
- \*************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n//# sourceURL=webpack:///./node_modules/object-keys/isArguments.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise-controller/src/defaults.js":
- /*!*********************************************************!*\
- !*** ./node_modules/promise-controller/src/defaults.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- eval("/**\n * @typedef {Object} Options\n *\n * @property {Number} [timeout=0] - Timeout in ms after that promise will be rejected automatically.\n * @property {String|Function} [timeoutReason] - Rejection reason for timeout.\n * Promise will be rejected with {@link PromiseController.TimeoutError} and this message. The message can contain\n * placeholder `{timeout}` for actual timeout value. If timeoutReason is a function,\n * it will be evaluated and returned value will be used as message.\n * @property {String|Function} [resetReason] - Rejection reason used when `.reset()` is called while promise is pending.\n * Promise will be rejected with {@link PromiseController.ResetError} and this message. If resetReason is a function,\n * it will be evaluated and returned value will be used as message.\n */\n\nmodule.exports = {\n timeout: 0,\n timeoutReason: 'Promise rejected by PromiseController timeout {timeout} ms.',\n resetReason: 'Promise rejected by PromiseController reset.',\n};\n\n\n//# sourceURL=webpack:///./node_modules/promise-controller/src/defaults.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise-controller/src/index.js":
- /*!******************************************************!*\
- !*** ./node_modules/promise-controller/src/index.js ***!
- \******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- eval("/**\n * @ignore\n */\nconst defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/promise-controller/src/defaults.js\");\nconst {isPromise, createErrorType, tryCall} = __webpack_require__(/*! ./utils */ \"./node_modules/promise-controller/src/utils.js\");\n\n/**\n * @typicalname pc\n */\nclass PromiseController {\n /**\n * Creates promise controller. Unlike original Promise, it does not immediately call any function.\n * Instead it has [.call()](#PromiseController+call) method that calls provided function\n * and stores `resolve / reject` methods for future access.\n *\n * @param {Options} [options]\n */\n constructor(options) {\n this._options = Object.assign({}, defaults, options);\n this._resolve = null;\n this._reject = null;\n this._isPending = false;\n this._isFulfilled = false;\n this._isRejected = false;\n this._value = undefined;\n this._promise = null;\n this._timer = null;\n }\n\n /**\n * Returns promise itself.\n *\n * @returns {Promise}\n */\n get promise() {\n return this._promise;\n }\n\n /**\n * Returns value with that promise was settled (fulfilled or rejected).\n *\n * @returns {*}\n */\n get value() {\n return this._value;\n }\n\n /**\n * Returns true if promise is pending.\n *\n * @returns {Boolean}\n */\n get isPending() {\n return this._isPending;\n }\n\n /**\n * Returns true if promise is fulfilled.\n *\n * @returns {Boolean}\n */\n get isFulfilled() {\n return this._isFulfilled;\n }\n\n /**\n * Returns true if promise rejected.\n *\n * @returns {Boolean}\n */\n get isRejected() {\n return this._isRejected;\n }\n\n /**\n * Returns true if promise is fulfilled or rejected.\n *\n * @returns {Boolean}\n */\n get isSettled() {\n return this._isFulfilled || this._isRejected;\n }\n\n /**\n * Calls `fn` and returns promise OR just returns existing promise from previous `call()` if it is still pending.\n * To fulfill returned promise you should use\n * {@link PromiseController#resolve} / {@link PromiseController#reject} methods.\n * If `fn` itself returns promise, then external promise is attached to it and fulfills together.\n * If no `fn` passed - promiseController is initialized as well.\n *\n * @param {Function} [fn] function to be called.\n * @returns {Promise}\n */\n call(fn) {\n if (!this._isPending) {\n this.reset();\n this._createPromise();\n this._createTimer();\n this._callFn(fn);\n }\n return this._promise;\n }\n\n /**\n * Resolves pending promise with specified `value`.\n *\n * @param {*} [value]\n */\n resolve(value) {\n if (this._isPending) {\n if (isPromise(value)) {\n this._tryAttachToPromise(value);\n } else {\n this._settle(value);\n this._isFulfilled = true;\n this._resolve(value);\n }\n }\n }\n\n /**\n * Rejects pending promise with specified `value`.\n *\n * @param {*} [value]\n */\n reject(value) {\n if (this._isPending) {\n this._settle(value);\n this._isRejected = true;\n this._reject(value);\n }\n }\n\n /**\n * Resets to initial state.\n * If promise is pending it will be rejected with {@link PromiseController.ResetError}.\n */\n reset() {\n if (this._isPending) {\n const message = tryCall(this._options.resetReason);\n const error = new PromiseController.ResetError(message);\n this.reject(error);\n }\n this._promise = null;\n this._isPending = false;\n this._isFulfilled = false;\n this._isRejected = false;\n this._value = undefined;\n this._clearTimer();\n }\n\n /**\n * Re-assign one or more options.\n *\n * @param {Options} options\n */\n configure(options) {\n Object.assign(this._options, options);\n }\n\n _createPromise() {\n this._promise = new Promise((resolve, reject) => {\n this._isPending = true;\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n\n _handleTimeout() {\n const messageTpl = tryCall(this._options.timeoutReason);\n const message = typeof messageTpl === 'string' ? messageTpl.replace('{timeout}', this._options.timeout) : '';\n const error = new PromiseController.TimeoutError(message);\n this.reject(error);\n }\n\n _createTimer() {\n if (this._options.timeout) {\n this._timer = setTimeout(() => this._handleTimeout(), this._options.timeout);\n }\n }\n\n _clearTimer() {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n }\n\n _settle(value) {\n this._isPending = false;\n this._value = value;\n this._clearTimer();\n }\n\n _callFn(fn) {\n if (typeof fn === 'function') {\n try {\n const result = fn();\n this._tryAttachToPromise(result);\n } catch (e) {\n this.reject(e);\n }\n }\n }\n\n _tryAttachToPromise(p) {\n if (isPromise(p)) {\n p.then(value => this.resolve(value), e => this.reject(e));\n }\n }\n}\n\n/**\n * Error for rejection in case of timeout.\n * @type {PromiseController.TimeoutError}\n */\nPromiseController.TimeoutError = createErrorType('TimeoutError');\n\n/**\n * Error for rejection in case of call `.reset()` while promise is pending.\n * @type {PromiseController.ResetError}\n */\nPromiseController.ResetError = createErrorType('ResetError');\n\nmodule.exports = PromiseController;\n\n\n//# sourceURL=webpack:///./node_modules/promise-controller/src/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise-controller/src/utils.js":
- /*!******************************************************!*\
- !*** ./node_modules/promise-controller/src/utils.js ***!
- \******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- eval("\n/**\n * Simple check for Promise.\n * @param {*} p\n * @returns {Boolean}\n * @ignore\n */\nexports.isPromise = function (p) {\n return p && typeof p.then === 'function';\n};\n\n/**\n * Calls argument if it is function\n * @param {*} value\n * @returns {*}\n * @ignore\n */\nexports.tryCall = function (value) {\n return typeof value === 'function' ? value() : value;\n};\n\n/**\n * Just `class MyError extends Error` does not work with transpiler.\n * See: https://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript\n * @ignore\n */\nexports.createErrorType = function (name) {\n function E(message) {\n if (!Error.captureStackTrace) {\n this.stack = (new Error()).stack;\n } else {\n Error.captureStackTrace(this, this.constructor);\n }\n this.message = message;\n }\n E.prototype = new Error();\n E.prototype.name = name;\n E.prototype.constructor = E;\n return E;\n};\n\n\n//# sourceURL=webpack:///./node_modules/promise-controller/src/utils.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise.prototype.finally/implementation.js":
- /*!******************************************************************!*\
- !*** ./node_modules/promise.prototype.finally/implementation.js ***!
- \******************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar requirePromise = __webpack_require__(/*! ./requirePromise */ \"./node_modules/promise.prototype.finally/requirePromise.js\");\n\nrequirePromise();\n\nvar IsCallable = __webpack_require__(/*! es-abstract/2018/IsCallable */ \"./node_modules/es-abstract/2018/IsCallable.js\");\nvar SpeciesConstructor = __webpack_require__(/*! es-abstract/2018/SpeciesConstructor */ \"./node_modules/es-abstract/2018/SpeciesConstructor.js\");\nvar Type = __webpack_require__(/*! es-abstract/2018/Type */ \"./node_modules/es-abstract/2018/Type.js\");\n\nvar promiseResolve = function PromiseResolve(C, value) {\n\treturn new C(function (resolve) {\n\t\tresolve(value);\n\t});\n};\n\nvar OriginalPromise = Promise;\n\nvar createThenFinally = function CreateThenFinally(C, onFinally) {\n\treturn function (value) {\n\t\tvar result = onFinally();\n\t\tvar promise = promiseResolve(C, result);\n\t\tvar valueThunk = function () {\n\t\t\treturn value;\n\t\t};\n\t\treturn promise.then(valueThunk);\n\t};\n};\n\nvar createCatchFinally = function CreateCatchFinally(C, onFinally) {\n\treturn function (reason) {\n\t\tvar result = onFinally();\n\t\tvar promise = promiseResolve(C, result);\n\t\tvar thrower = function () {\n\t\t\tthrow reason;\n\t\t};\n\t\treturn promise.then(thrower);\n\t};\n};\n\nvar promiseFinally = function finally_(onFinally) {\n\t/* eslint no-invalid-this: 0 */\n\n\tvar promise = this;\n\n\tif (Type(promise) !== 'Object') {\n\t\tthrow new TypeError('receiver is not an Object');\n\t}\n\n\tvar C = SpeciesConstructor(promise, OriginalPromise); // may throw\n\n\tvar thenFinally = onFinally;\n\tvar catchFinally = onFinally;\n\tif (IsCallable(onFinally)) {\n\t\tthenFinally = createThenFinally(C, onFinally);\n\t\tcatchFinally = createCatchFinally(C, onFinally);\n\t}\n\n\treturn promise.then(thenFinally, catchFinally);\n};\n\nif (Object.getOwnPropertyDescriptor) {\n\tvar descriptor = Object.getOwnPropertyDescriptor(promiseFinally, 'name');\n\tif (descriptor && descriptor.configurable) {\n\t\tObject.defineProperty(promiseFinally, 'name', { configurable: true, value: 'finally' });\n\t}\n}\n\nmodule.exports = promiseFinally;\n\n\n//# sourceURL=webpack:///./node_modules/promise.prototype.finally/implementation.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise.prototype.finally/index.js":
- /*!*********************************************************!*\
- !*** ./node_modules/promise.prototype.finally/index.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar define = __webpack_require__(/*! define-properties */ \"./node_modules/define-properties/index.js\");\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/promise.prototype.finally/implementation.js\");\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \"./node_modules/promise.prototype.finally/polyfill.js\");\nvar shim = __webpack_require__(/*! ./shim */ \"./node_modules/promise.prototype.finally/shim.js\");\n\nvar bound = bind.call(Function.call, getPolyfill());\n\ndefine(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n\n\n//# sourceURL=webpack:///./node_modules/promise.prototype.finally/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise.prototype.finally/polyfill.js":
- /*!************************************************************!*\
- !*** ./node_modules/promise.prototype.finally/polyfill.js ***!
- \************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar requirePromise = __webpack_require__(/*! ./requirePromise */ \"./node_modules/promise.prototype.finally/requirePromise.js\");\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/promise.prototype.finally/implementation.js\");\n\nmodule.exports = function getPolyfill() {\n\trequirePromise();\n\treturn typeof Promise.prototype['finally'] === 'function' ? Promise.prototype['finally'] : implementation;\n};\n\n\n//# sourceURL=webpack:///./node_modules/promise.prototype.finally/polyfill.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise.prototype.finally/requirePromise.js":
- /*!******************************************************************!*\
- !*** ./node_modules/promise.prototype.finally/requirePromise.js ***!
- \******************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nmodule.exports = function requirePromise() {\n\tif (typeof Promise !== 'function') {\n\t\tthrow new TypeError('`Promise.prototype.finally` requires a global `Promise` be available.');\n\t}\n};\n\n\n//# sourceURL=webpack:///./node_modules/promise.prototype.finally/requirePromise.js?");
-
- /***/ }),
-
- /***/ "./node_modules/promise.prototype.finally/shim.js":
- /*!********************************************************!*\
- !*** ./node_modules/promise.prototype.finally/shim.js ***!
- \********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
- eval("\n\nvar requirePromise = __webpack_require__(/*! ./requirePromise */ \"./node_modules/promise.prototype.finally/requirePromise.js\");\n\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \"./node_modules/promise.prototype.finally/polyfill.js\");\nvar define = __webpack_require__(/*! define-properties */ \"./node_modules/define-properties/index.js\");\n\nmodule.exports = function shimPromiseFinally() {\n\trequirePromise();\n\n\tvar polyfill = getPolyfill();\n\tdefine(Promise.prototype, { 'finally': polyfill }, {\n\t\t'finally': function testFinally() {\n\t\t\treturn Promise.prototype['finally'] !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n\n\n//# sourceURL=webpack:///./node_modules/promise.prototype.finally/shim.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/bytesToUuid.js":
- /*!***********************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/bytesToUuid.js ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (bytesToUuid);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/bytesToUuid.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/index.js":
- /*!*****************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/index.js ***!
- \*****************************************************/
- /*! exports provided: v1, v3, v4, v5 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _v1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./v1.js */ \"./node_modules/uuid/dist/esm-browser/v1.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"v1\", function() { return _v1_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _v3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./v3.js */ \"./node_modules/uuid/dist/esm-browser/v3.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"v3\", function() { return _v3_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _v4_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./v4.js */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"v4\", function() { return _v4_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _v5_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./v5.js */ \"./node_modules/uuid/dist/esm-browser/v5.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"v5\", function() { return _v5_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/md5.js":
- /*!***************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/md5.js ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes == 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Array(msg.length);\n\n for (var i = 0; i < msg.length; i++) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var i;\n var x;\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n var hex;\n\n for (i = 0; i < length32; i += 8) {\n x = input[i >> 5] >>> i % 32 & 0xff;\n hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[(len + 64 >>> 9 << 4) + 14] = len;\n var i;\n var olda;\n var oldb;\n var oldc;\n var oldd;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (i = 0; i < x.length; i += 16) {\n olda = a;\n oldb = b;\n oldc = c;\n oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n var i;\n var output = [];\n output[(input.length >> 2) - 1] = undefined;\n\n for (i = 0; i < output.length; i += 1) {\n output[i] = 0;\n }\n\n var length8 = input.length * 8;\n\n for (i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (md5);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/md5.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/rng.js":
- /*!***************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/rng.js ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return rng; });\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\nvar rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\nfunction rng() {\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n\n return getRandomValues(rnds8);\n}\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/rng.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/sha1.js":
- /*!****************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/sha1.js ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes == 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Array(msg.length);\n\n for (var i = 0; i < msg.length; i++) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var i = 0; i < N; i++) {\n M[i] = new Array(16);\n\n for (var j = 0; j < 16; j++) {\n M[i][j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var i = 0; i < N; i++) {\n var W = new Array(80);\n\n for (var t = 0; t < 16; t++) {\n W[t] = M[i][t];\n }\n\n for (var t = 16; t < 80; t++) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var t = 0; t < 80; t++) {\n var s = Math.floor(t / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (sha1);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/sha1.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/v1.js":
- /*!**************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/v1.js ***!
- \**************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rng.js */ \"./node_modules/uuid/dist/esm-browser/rng.js\");\n/* harmony import */ var _bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bytesToUuid.js */ \"./node_modules/uuid/dist/esm-browser/bytesToUuid.js\");\n\n // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || _rng_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : Object(_bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (v1);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/v1.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/v3.js":
- /*!**************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/v3.js ***!
- \**************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _v35_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./v35.js */ \"./node_modules/uuid/dist/esm-browser/v35.js\");\n/* harmony import */ var _md5_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./md5.js */ \"./node_modules/uuid/dist/esm-browser/md5.js\");\n\n\nvar v3 = Object(_v35_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('v3', 0x30, _md5_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (v3);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/v3.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/v35.js":
- /*!***************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/v35.js ***!
- \***************************************************/
- /*! exports provided: DNS, URL, default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DNS\", function() { return DNS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"URL\", function() { return URL; });\n/* harmony import */ var _bytesToUuid_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bytesToUuid.js */ \"./node_modules/uuid/dist/esm-browser/bytesToUuid.js\");\n\n\nfunction uuidToBytes(uuid) {\n // Note: We assume we're being passed a valid uuid string\n var bytes = [];\n uuid.replace(/[a-fA-F0-9]{2}/g, function (hex) {\n bytes.push(parseInt(hex, 16));\n });\n return bytes;\n}\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = new Array(str.length);\n\n for (var i = 0; i < str.length; i++) {\n bytes[i] = str.charCodeAt(i);\n }\n\n return bytes;\n}\n\nvar DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nvar URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (name, version, hashfunc) {\n var generateUUID = function generateUUID(value, namespace, buf, offset) {\n var off = buf && offset || 0;\n if (typeof value == 'string') value = stringToBytes(value);\n if (typeof namespace == 'string') namespace = uuidToBytes(namespace);\n if (!Array.isArray(value)) throw TypeError('value must be an array of bytes');\n if (!Array.isArray(namespace) || namespace.length !== 16) throw TypeError('namespace must be uuid string or an Array of 16 byte values'); // Per 4.3\n\n var bytes = hashfunc(namespace.concat(value));\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n for (var idx = 0; idx < 16; ++idx) {\n buf[off + idx] = bytes[idx];\n }\n }\n\n return buf || Object(_bytesToUuid_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bytes);\n }; // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name;\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n});\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/v35.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/v4.js":
- /*!**************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/v4.js ***!
- \**************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rng.js */ \"./node_modules/uuid/dist/esm-browser/rng.js\");\n/* harmony import */ var _bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bytesToUuid.js */ \"./node_modules/uuid/dist/esm-browser/bytesToUuid.js\");\n\n\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n\n options = options || {};\n var rnds = options.random || (options.rng || _rng_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || Object(_bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(rnds);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (v4);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/v4.js?");
-
- /***/ }),
-
- /***/ "./node_modules/uuid/dist/esm-browser/v5.js":
- /*!**************************************************!*\
- !*** ./node_modules/uuid/dist/esm-browser/v5.js ***!
- \**************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
-
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _v35_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./v35.js */ \"./node_modules/uuid/dist/esm-browser/v35.js\");\n/* harmony import */ var _sha1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sha1.js */ \"./node_modules/uuid/dist/esm-browser/sha1.js\");\n\n\nvar v5 = Object(_v35_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('v5', 0x50, _sha1_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (v5);\n\n//# sourceURL=webpack:///./node_modules/uuid/dist/esm-browser/v5.js?");
-
- /***/ }),
-
- /***/ "./node_modules/webpack/buildin/global.js":
- /*!***********************************!*\
- !*** (webpack)/buildin/global.js ***!
- \***********************************/
- /*! 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 || new Function(\"return 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\n\n//# sourceURL=webpack:///(webpack)/buildin/global.js?");
-
- /***/ }),
-
- /***/ "./node_modules/websocket-as-promised/src/index.js":
- /*!*********************************************************!*\
- !*** ./node_modules/websocket-as-promised/src/index.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- eval("/**\n * WebSocket with promise api\n */\n\n/**\n * @external Channel\n */\n\nconst Channel = __webpack_require__(/*! chnl */ \"./node_modules/chnl/dist/channel.cjs.js\");\nconst PromiseController = __webpack_require__(/*! promise-controller */ \"./node_modules/promise-controller/src/index.js\");\nconst Requests = __webpack_require__(/*! ./requests */ \"./node_modules/websocket-as-promised/src/requests.js\");\nconst defaultOptions = __webpack_require__(/*! ./options */ \"./node_modules/websocket-as-promised/src/options.js\");\nconst {throwIf} = __webpack_require__(/*! ./utils */ \"./node_modules/websocket-as-promised/src/utils.js\");\n\n// see: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket#Ready_state_constants\nconst STATE = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3,\n};\n\n/**\n * @typicalname wsp\n */\nclass WebSocketAsPromised {\n /**\n * Constructor. Unlike original WebSocket it does not immediately open connection.\n * Please call `open()` method to connect.\n *\n * @param {String} url WebSocket URL\n * @param {Options} [options]\n */\n constructor(url, options) {\n this._assertOptions(options);\n this._url = url;\n this._options = Object.assign({}, defaultOptions, options);\n this._requests = new Requests();\n this._ws = null;\n this._wsSubscription = null;\n this._createOpeningController();\n this._createClosingController();\n this._createChannels();\n }\n\n /**\n * Returns original WebSocket instance created by `options.createWebSocket`.\n *\n * @returns {WebSocket}\n */\n get ws() {\n return this._ws;\n }\n\n /**\n * Returns WebSocket url.\n *\n * @returns {String}\n */\n get url() {\n return this._url;\n }\n\n /**\n * Is WebSocket connection in opening state.\n *\n * @returns {Boolean}\n */\n get isOpening() {\n return Boolean(this._ws && this._ws.readyState === STATE.CONNECTING);\n }\n\n /**\n * Is WebSocket connection opened.\n *\n * @returns {Boolean}\n */\n get isOpened() {\n return Boolean(this._ws && this._ws.readyState === STATE.OPEN);\n }\n\n /**\n * Is WebSocket connection in closing state.\n *\n * @returns {Boolean}\n */\n get isClosing() {\n return Boolean(this._ws && this._ws.readyState === STATE.CLOSING);\n }\n\n /**\n * Is WebSocket connection closed.\n *\n * @returns {Boolean}\n */\n get isClosed() {\n return Boolean(!this._ws || this._ws.readyState === STATE.CLOSED);\n }\n\n /**\n * Event channel triggered when connection is opened.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onOpen.addListener(() => console.log('Connection opened'));\n *\n * @returns {Channel}\n */\n get onOpen() {\n return this._onOpen;\n }\n\n /**\n * Event channel triggered every time when message is sent to server.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onSend.addListener(data => console.log('Message sent', data));\n *\n * @returns {Channel}\n */\n get onSend() {\n return this._onSend;\n }\n\n /**\n * Event channel triggered every time when message received from server.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onMessage.addListener(message => console.log(message));\n *\n * @returns {Channel}\n */\n get onMessage() {\n return this._onMessage;\n }\n\n /**\n * Event channel triggered every time when received message is successfully unpacked.\n * For example, if you are using JSON transport, the listener will receive already JSON parsed data.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onUnpackedMessage.addListener(data => console.log(data.foo));\n *\n * @returns {Channel}\n */\n get onUnpackedMessage() {\n return this._onUnpackedMessage;\n }\n\n /**\n * Event channel triggered every time when response to some request comes.\n * Received message considered a response if requestId is found in it.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onResponse.addListener(data => console.log(data));\n *\n * @returns {Channel}\n */\n get onResponse() {\n return this._onResponse;\n }\n\n /**\n * Event channel triggered when connection closed.\n * Listener accepts single argument `{code, reason}`.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onClose.addListener(event => console.log(`Connections closed: ${event.reason}`));\n *\n * @returns {Channel}\n */\n get onClose() {\n return this._onClose;\n }\n\n /**\n * Event channel triggered when by Websocket 'error' event.\n *\n * @see https://vitalets.github.io/chnl/#channel\n * @example\n * wsp.onError.addListener(event => console.error(event));\n *\n * @returns {Channel}\n */\n get onError() {\n return this._onError;\n }\n\n /**\n * Opens WebSocket connection. If connection already opened, promise will be resolved with \"open event\".\n *\n * @returns {Promise<Event>}\n */\n open() {\n if (this.isClosing) {\n return Promise.reject(new Error(`Can't open WebSocket while closing.`));\n }\n if (this.isOpened) {\n return this._opening.promise;\n }\n return this._opening.call(() => {\n this._opening.promise.catch(e => this._cleanup(e));\n this._createWS();\n });\n }\n\n /**\n * Performs request and waits for response.\n *\n * @param {*} data\n * @param {Object} [options]\n * @param {String|Number} [options.requestId=<auto-generated>]\n * @param {Number} [options.timeout=0]\n * @returns {Promise}\n */\n sendRequest(data, options = {}) {\n const requestId = options.requestId || `${Math.random()}`;\n const timeout = options.timeout !== undefined ? options.timeout : this._options.timeout;\n return this._requests.create(requestId, () => {\n this._assertRequestIdHandlers();\n const finalData = this._options.attachRequestId(data, requestId);\n this.sendPacked(finalData);\n }, timeout);\n }\n\n /**\n * Packs data with `options.packMessage` and sends to the server.\n *\n * @param {*} data\n */\n sendPacked(data) {\n this._assertPackingHandlers();\n const message = this._options.packMessage(data);\n this.send(message);\n }\n\n /**\n * Sends data without packing.\n *\n * @param {String|Blob|ArrayBuffer} data\n */\n send(data) {\n throwIf(!this.isOpened, `Can't send data because WebSocket is not opened.`);\n this._ws.send(data);\n this._onSend.dispatchAsync(data);\n }\n\n /**\n * Closes WebSocket connection. If connection already closed, promise will be resolved with \"close event\".\n *\n * @returns {Promise<Event>}\n */\n close() {\n return this.isClosed\n ? Promise.resolve(this._closing.value)\n : this._closing.call(() => this._ws.close());\n }\n\n /**\n * Removes all listeners from WSP instance. Useful for cleanup.\n */\n removeAllListeners() {\n this._onOpen.removeAllListeners();\n this._onMessage.removeAllListeners();\n this._onUnpackedMessage.removeAllListeners();\n this._onResponse.removeAllListeners();\n this._onSend.removeAllListeners();\n this._onClose.removeAllListeners();\n this._onError.removeAllListeners();\n }\n\n _createOpeningController() {\n const connectionTimeout = this._options.connectionTimeout || this._options.timeout;\n this._opening = new PromiseController({\n timeout: connectionTimeout,\n timeoutReason: `Can't open WebSocket within allowed timeout: ${connectionTimeout} ms.`\n });\n }\n\n _createClosingController() {\n const closingTimeout = this._options.timeout;\n this._closing = new PromiseController({\n timeout: closingTimeout,\n timeoutReason: `Can't close WebSocket within allowed timeout: ${closingTimeout} ms.`\n });\n }\n\n _createChannels() {\n this._onOpen = new Channel();\n this._onMessage = new Channel();\n this._onUnpackedMessage = new Channel();\n this._onResponse = new Channel();\n this._onSend = new Channel();\n this._onClose = new Channel();\n this._onError = new Channel();\n }\n\n _createWS() {\n this._ws = this._options.createWebSocket(this._url);\n this._wsSubscription = new Channel.Subscription([\n {channel: this._ws, event: 'open', listener: e => this._handleOpen(e)},\n {channel: this._ws, event: 'message', listener: e => this._handleMessage(e)},\n {channel: this._ws, event: 'error', listener: e => this._handleError(e)},\n {channel: this._ws, event: 'close', listener: e => this._handleClose(e)},\n ]).on();\n }\n\n _handleOpen(event) {\n this._onOpen.dispatchAsync(event);\n this._opening.resolve(event);\n }\n\n _handleMessage(event) {\n const data = this._options.extractMessageData(event);\n this._onMessage.dispatchAsync(data);\n this._tryUnpack(data);\n }\n\n _tryUnpack(data) {\n if (this._options.unpackMessage) {\n data = this._options.unpackMessage(data);\n if (data !== undefined) {\n this._onUnpackedMessage.dispatchAsync(data);\n this._tryHandleResponse(data);\n }\n }\n }\n\n _tryHandleResponse(data) {\n if (this._options.extractRequestId) {\n const requestId = this._options.extractRequestId(data);\n if (requestId) {\n this._onResponse.dispatchAsync(data, requestId);\n this._requests.resolve(requestId, data);\n }\n }\n }\n\n _handleError(event) {\n this._onError.dispatchAsync(event);\n }\n\n _handleClose(event) {\n this._onClose.dispatchAsync(event);\n this._closing.resolve(event);\n const error = new Error(`WebSocket closed with reason: ${event.reason} (${event.code}).`);\n if (this._opening.isPending) {\n this._opening.reject(error);\n }\n this._cleanup(error);\n }\n\n _cleanupWS() {\n if (this._wsSubscription) {\n this._wsSubscription.off();\n this._wsSubscription = null;\n }\n this._ws = null;\n }\n\n _cleanup(error) {\n this._cleanupWS();\n this._requests.rejectAll(error);\n }\n\n _assertOptions(options) {\n Object.keys(options || {}).forEach(key => {\n if (!defaultOptions.hasOwnProperty(key)) {\n throw new Error(`Unknown option: ${key}`);\n }\n });\n }\n\n _assertPackingHandlers() {\n const {packMessage, unpackMessage} = this._options;\n throwIf(!packMessage || !unpackMessage,\n `Please define 'options.packMessage / options.unpackMessage' for sending packed messages.`\n );\n }\n\n _assertRequestIdHandlers() {\n const {attachRequestId, extractRequestId} = this._options;\n throwIf(!attachRequestId || !extractRequestId,\n `Please define 'options.attachRequestId / options.extractRequestId' for sending requests.`\n );\n }\n}\n\nmodule.exports = WebSocketAsPromised;\n\n\n//# sourceURL=webpack:///./node_modules/websocket-as-promised/src/index.js?");
-
- /***/ }),
-
- /***/ "./node_modules/websocket-as-promised/src/options.js":
- /*!***********************************************************!*\
- !*** ./node_modules/websocket-as-promised/src/options.js ***!
- \***********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- eval("/**\n * Default options.\n */\n\n/**\n * @typedef {Object} Options\n * @property {Function} [createWebSocket=url => new WebSocket(url)] - custom function for WebSocket construction.\n *\n * @property {Function} [packMessage=noop] - packs message for sending. For example, `data => JSON.stringify(data)`.\n *\n * @property {Function} [unpackMessage=noop] - unpacks received message. For example, `data => JSON.parse(data)`.\n *\n * @property {Function} [attachRequestId=noop] - injects request id into data.\n * For example, `(data, requestId) => Object.assign({requestId}, data)`.\n *\n * @property {Function} [extractRequestId=noop] - extracts request id from received data.\n * For example, `data => data.requestId`.\n *\n * @property {Function} [extractMessageData=event => event.data] - extracts data from event object.\n *\n * @property {Number} timeout=0 - timeout for opening connection and sending messages.\n *\n * @property {Number} connectionTimeout=0 - special timeout for opening connection, by default equals to `timeout`.\n *\n * @defaults\n * please see [options.js](https://github.com/vitalets/websocket-as-promised/blob/master/src/options.js)\n */\n\nmodule.exports = {\n /**\n * See {@link Options.createWebSocket}\n *\n * @param {String} url\n * @returns {WebSocket}\n */\n createWebSocket: url => new WebSocket(url),\n\n /**\n * See {@link Options.packMessage}\n *\n * @param {*} data\n * @returns {String|ArrayBuffer|Blob}\n */\n packMessage: null,\n\n /**\n * See {@link Options.unpackMessage}\n *\n * @param {String|ArrayBuffer|Blob} data\n * @returns {*}\n */\n unpackMessage: null,\n\n /**\n * See {@link Options.attachRequestId}\n *\n * @param {*} data\n * @param {String|Number} requestId\n * @returns {*}\n */\n attachRequestId: null,\n\n /**\n * See {@link Options.extractRequestId}\n *\n * @param {*} data\n * @returns {String|Number|undefined}\n */\n extractRequestId: null,\n\n /**\n * See {@link Options.extractMessageData}\n *\n * @param {*} event\n * @returns {*}\n */\n extractMessageData: event => event.data,\n\n /**\n * See {@link Options.timeout}\n */\n timeout: 0,\n\n /**\n * See {@link Options.connectionTimeout}\n */\n connectionTimeout: 0,\n};\n\n\n//# sourceURL=webpack:///./node_modules/websocket-as-promised/src/options.js?");
-
- /***/ }),
-
- /***/ "./node_modules/websocket-as-promised/src/requests.js":
- /*!************************************************************!*\
- !*** ./node_modules/websocket-as-promised/src/requests.js ***!
- \************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- eval("/**\n * Class for manage pending requests.\n * @private\n */\n\nconst PromiseController = __webpack_require__(/*! promise-controller */ \"./node_modules/promise-controller/src/index.js\");\nconst promiseFinally = __webpack_require__(/*! promise.prototype.finally */ \"./node_modules/promise.prototype.finally/index.js\");\n\nmodule.exports = class Requests {\n constructor() {\n this._items = new Map();\n }\n\n /**\n * Creates new request and stores it in the list.\n *\n * @param {String|Number} requestId\n * @param {Function} fn\n * @param {Number} timeout\n * @returns {Promise}\n */\n create(requestId, fn, timeout) {\n this._rejectExistingRequest(requestId);\n return this._createNewRequest(requestId, fn, timeout);\n }\n\n resolve(requestId, data) {\n if (requestId && this._items.has(requestId)) {\n this._items.get(requestId).resolve(data);\n }\n }\n\n rejectAll(error) {\n this._items.forEach(request => request.isPending ? request.reject(error) : null);\n }\n\n _rejectExistingRequest(requestId) {\n const existingRequest = this._items.get(requestId);\n if (existingRequest && existingRequest.isPending) {\n existingRequest.reject(new Error(`WebSocket request is replaced, id: ${requestId}`));\n }\n }\n\n _createNewRequest(requestId, fn, timeout) {\n const request = new PromiseController({\n timeout,\n timeoutReason: `WebSocket request was rejected by timeout (${timeout} ms). RequestId: ${requestId}`\n });\n this._items.set(requestId, request);\n return promiseFinally(request.call(fn), () => this._deleteRequest(requestId, request));\n }\n\n _deleteRequest(requestId, request) {\n // this check is important when request was replaced\n if (this._items.get(requestId) === request) {\n this._items.delete(requestId);\n }\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/websocket-as-promised/src/requests.js?");
-
- /***/ }),
-
- /***/ "./node_modules/websocket-as-promised/src/utils.js":
- /*!*********************************************************!*\
- !*** ./node_modules/websocket-as-promised/src/utils.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- eval("\nexports.throwIf = (condition, message) => {\n if (condition) {\n throw new Error(message);\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/websocket-as-promised/src/utils.js?");
-
- /***/ })
-
- /******/ });
|